Commit graph

387 commits

Author SHA1 Message Date
Eric House
f5888befb8 cleanup 2024-11-11 07:14:54 -08:00
Eric House
e87577a8e4 replace firing assert with logging 2024-11-06 08:15:11 -08:00
Eric House
fc30abd126 move methods from util to dutil 2024-10-31 10:16:03 -07:00
Eric House
b2ffd915dd remove compile-command here too 2024-10-10 07:40:38 -10:00
Eric House
f4af1d69ea for emacs: move compile-command into directory-scoped file 2024-10-10 07:40:38 -10:00
Eric House
2a8a9b442a use dutil_phoneNumbersSame() instead of strcmp() 2024-09-21 22:09:22 -07:00
Eric House
2d9cb93ae6 add to test ability to invite using known players 2024-09-21 22:09:22 -07:00
Eric House
a15bb77fd9 fix bug determining to quit after too many passes
I was counting all passes in a game, not just in a row starting with
the last. Longstanding bug!
2024-08-28 22:07:04 -07:00
Eric House
4b730cf0b5 remove useless debug-only menuitem 2024-08-28 20:14:01 -07:00
Eric House
2993e82ec7 fix assertion by implementing kplr_nameForAddress() fully 2024-08-15 17:38:34 -07:00
Eric House
c09ac28759 fix warnings about zeroing static structs (no behavior change) 2024-08-07 22:29:46 -07:00
Eric House
7286156c87 add a few more stats 2024-08-07 22:13:02 -07:00
Eric House
696c47ace4 fix harvesting of known player names to not mismatch name/address
The buggy code assumed two arrays were in sync that weren't guaranteed
to be so. So now I'm leveraging rematch code that already put
addresses in player order.
2024-07-30 16:15:44 -07:00
Eric House
2f91ff1f78 display known player names for pending invites
When an invitation is pending for a player in GameSummary or
scoreboard, show "<Name> invited" instead of "remote missing."
2024-07-28 08:48:33 -07:00
Eric House
41e1a2e3c3 cleanup, esp. to remove some nullable params
squash me
2024-07-07 20:17:10 -07:00
Eric House
3d51de4bf7 fix crash tile-picking when too few tiles left 2024-05-17 08:41:51 -07:00
Eric House
8be9d18287 new feature to remember acceptable phonies
Present to user option to remember "phonies", words played but not
in the current wordlist. They're stored by language (not by wordlist)
and not available for hints or the robot to use (as that would require
incorporating them into a wordlist, a much larger change.)
2024-04-09 10:52:43 -07:00
Eric House
707c9a08b1 add thread checking for more comms methods
And add a hack for that requiring non-const decls for DEBUG builds
2024-03-15 16:16:39 -07:00
Eric House
bb1a589ab0 make non-debug build compile 2024-02-27 16:07:47 -08:00
Eric House
b791d8eb99 cleanup from code review 2024-02-27 15:59:42 -08:00
Eric House
f2d7ce3daa attribute sent chat to local player if non-local selected 2024-02-23 07:55:07 -08:00
Eric House
f3c7fcffd3 fix assertion chatting when remote player selected 2024-02-22 07:39:04 -08:00
Eric House
6d17d0636e fix (new) problems communicating chat sender name 2024-02-22 07:06:14 -08:00
Eric House
fbad300e48 finish chat fix to not crash when old messages come in 2024-02-20 15:53:24 -08:00
Eric House
d446d3d463 always send from a local player
Seeing assertion failures with >2 dev games. I think the selPlayer
variable doesn't always point at a local player, so don't use it.
2024-02-20 15:32:58 -08:00
Eric House
b95c86e4e3 fix calling dup mode stuff without a test 2024-02-18 19:28:29 -08:00
Eric House
f716768a71 support sub7 trades on Android too 2024-02-18 19:28:29 -08:00
Eric House
85df0cc7fb add trading tiles to test script and app 2024-02-18 19:28:29 -08:00
Eric House
660584e4ee remove dead code 2024-02-18 19:28:29 -08:00
Eric House
01bbee3a8c more reducing logging 2024-02-10 20:41:19 -08:00
Eric House
5d53df9f0b tweak linux client to work with old test script
Included adding a new enum
2024-02-02 16:41:44 -08:00
Eric House
3670af591b cleanup stuff noted in code review -- no behavior change 2024-01-17 21:41:57 -08:00
Eric House
aa0aded8c4 Change the suggested game name (a vs b) with the RematchOrder
It's bad to display a name based on a player order in the same place
as where you're letting people change that order and not have the
name change. So re-juggle the rematch process to allow the name to
be changed -- but don't change once the user has edited the name.
2024-01-16 17:10:53 -08:00
Eric House
1ae714d834 start to remove obsolete XWFEATURE_STANDALONE_ONLY 2024-01-09 18:17:36 -08:00
Eric House
8388b27002 add comments about problems with signed gameIDs 2024-01-04 18:03:38 -08:00
Eric House
c91865c991 use invite's channelNo for first incoming message
A rare stall resulted when the invitee on channel 2 responded
first. It would get assigned channel 1 and so the invitation on that
channel would get deleted. If it hadn't already reached the mqtt
server it would never be delivered. My fix is to use an invitation's
channel instead IFF its address matches the return address of the
incoming message. I'm not sure what happens if there's somehow a mix
of invited (via rematch) and invited-some-other-way players. None of
this matters for two-device games anyway.
2024-01-04 09:50:24 -08:00
Eric House
9443bf14a4 make it work on android too 2024-01-04 09:50:24 -08:00
Eric House
5794cc43e3 log gameID wherever possible in comms.c and server.c 2024-01-04 09:50:24 -08:00
Eric House
52a1de0463 add fromRematch to existing api to avoid race condition 2024-01-04 09:50:24 -08:00
Eric House
b5de43e3dc fix assertion failure in mixed-version rematch case 2024-01-04 09:50:24 -08:00
Eric House
ffc64bc5dd cleanup/refactor 2024-01-04 09:50:24 -08:00
Eric House
7275569842 fix crash assuming wrong stream version 2024-01-04 09:50:24 -08:00
Eric House
f0ca490b3c fix stuff test script found 2024-01-04 09:50:24 -08:00
Eric House
1181e908dc Add option to choose how rematch-game players will be ordered
When rematching, some users have a convention that e.g. lowest scoring
player in the "parent" game goes first. So allow that, providing the
choice on each rematch until a default has been chosen. Support
changing that default in a new prefs setting.

The place I chose to enforce the order was on the host as invitees are
registering and being assigned slots. But by then there's no longer
any connection to the game that was rematched, e.g. to use its
scores. So during the rematched game creation process I create and
store with the new game the necessary ordering information. For the
3-and-4 device case, it was also necessary to tweak the information
about other guests that the host sends guests (added during earlier
work on rematching.)
2024-01-04 09:50:24 -08:00
Eric House
7b4f9ede41 cleanup: renaming only (server->host) 2024-01-04 09:50:24 -08:00
Eric House
57b78141e9 remove dead (relay) code 2023-12-04 09:31:11 -08:00
Prod User
7f1eec654c fix linux client test to compile and run on Anlinux proot on Android tablet 2023-08-14 08:11:01 -07:00
Eric House
fb04a6ad0a fix server_getOpenChannel()
Only used by gtk for now but meant to replace hardcoded invitation
code everywhere.
2023-03-16 07:44:14 -07:00
Eric House
1083cbd525 improve test script and fix rematching bug it found
Server needs to not rematch if any device has more than one
player (for now, as I'm too lazy to fix this rare condition.) I'm
moving toward having the linux client write status to a unix socket on
exit rather than having the test script parse the log file for
status. GameOver is there now. Tile counts should follow.
2023-03-05 10:23:48 -08:00
Eric House
ac75da2028 fix leak rematching games on 3+ devices 2023-03-04 09:30:58 -08:00