Commit graph

1670 commits

Author SHA1 Message Date
Eric House
b9c6551e8b merge android_branch changes to comms_make
Not tested at all on android
2022-11-18 11:09:22 -08:00
Eric House
d1a9c07adc fix so invites work, at least in simple case 2022-11-18 11:09:22 -08:00
Eric House
10bbab88bf tweak
There's an assertion I need to remove or understand here.
2022-11-18 11:09:22 -08:00
Eric House
98184b9e47 fix to compile and allow invites too late
The curses test scripts keep sending invitations, so don't assert
that's not true.
2022-11-18 11:09:22 -08:00
Eric House
61faf1a730 support comparing SMS addresses too 2022-11-18 11:09:22 -08:00
Eric House
b4e197f8af snapshot: mqtt invites for gtk work via comms
Merge that won't compile, but I want it to start fromp
2022-11-18 11:09:22 -08:00
Eric House
fad2c7b3c1 add assert and a debugging aid 2022-10-06 08:45:03 -07:00
Eric House
5c40f175bb work around old unstarted games where gi only was saved
I think....
2022-10-06 08:45:03 -07:00
Eric House
e55212df9f improve new game creation
There was some confusion around host and self addresses, where they're
created, default values, removing conTypes from defaults that are not
in received host addr, etc. I left in some asserts to help understand
if code that seems wrong but hard to fix is still getting called.
2022-09-14 21:37:44 -07:00
Eric House
ce579213b1 fix asserts 2022-09-06 20:38:56 -07:00
Eric House
674c811a09 pass addresses to game on creation
Current networking, based on invitations rather than a relay that
plays matchmaker, allows host to know its address when a game is
created, and for guest to know its host's address in
addition. Enforcing this makes inviting and rematching in common
code (coming soon) easier. Big change on Android is I used to create a
new game prior to passing it to GameConfigDelegate, but now I have to
wait for user to configure (including choosing how to communicate)
before I can create it.
2022-09-06 18:21:53 -07:00
Eric House
881b9a92ad cleanup 2022-09-06 11:40:09 -07:00
Eric House
381b014b8b change name for clarity 2022-09-06 11:40:09 -07:00
Eric House
4996d3fe89 improve comms address tracking (breaks android for now)
Remove legacy relay-inspired logic around comms addressing. Now when a
device creates a game it's required to provide its "self address," and
if it's a client, the address of the host (which it presumably got
through the invitation in response to which the game is being
created.) Then as registration messages come in from clients, the host
gathers their addresses as always.
2022-09-06 11:40:09 -07:00
Eric House
1b9fd67e9f logging cleanup 2022-08-20 10:24:29 -07:00
Eric House
4106765d53 add some consts 2022-08-16 18:28:53 -07:00
Eric House
cd9ea8ce3f oops: don't revert the bug-fix change to server.c 2022-08-10 12:13:50 -07:00
Eric House
cb362618e9 revert move-reporting changes
They need more testing before the next release, and are fine except
for duplicate-mode play.
2022-08-10 13:33:18 -05:00
Eric House
0497a456e7 cleanup 2022-08-09 22:39:41 -05:00
Eric House
c00bbf8ef1 simplify move expl tracking; don't show for dup-mode robots
Removed a boolean that seemed unnecessary. Stopped showing
move-explanations for robots in duplicate mode. They were being shown
too early thanks to bad logic, but I don't think there's any call for
them at all. A robot's move is only interesting if it's the one that
wins the turn.
2022-08-04 16:03:07 -07:00
Eric House
818868bdb2 remove undo as an option for duplicate mode games 2022-08-03 19:54:53 -07:00
Eric House
e6d516ca1d remove assertion firing in dup mode
The assertion's clearly blocking testing, but I'm not sure it's not an
error for two move explanations to want to co-exist. For now they're
concatenated.
2022-08-01 13:05:19 -07:00
Eric House
10a2c5e4b7 fix assertion failure in dupe mode 2022-07-30 19:50:09 -07:00
Eric House
51abc98647 use same variable name throughout 2022-07-08 21:57:42 -07:00
Eric House
882c717add cleanup/fix compiler warning 2022-07-07 10:00:24 -07:00
Eric House
2dfc9129f3 add timestamp to saved msgs, modify mqtt header to include later
I want receiver to know when message was originally created. This adds
timestamp to messages and passes it via send proc. Client needs to
send it where possible. So far, MQTT format can't include it without
change, so I'm adding a new proto version. This change can read the
new version. Once that's well-enough distributed I can start sending
using it. Other transmission types than MQTT are for later.
2022-06-29 12:34:27 -07:00
Eric House
d24099f52b clean up Hex wordlist
Remove it from known set so it can be used to test. Get rid of
filenames having umlaut since that screws up URLs between Android and
nginx (not sure whose fault and not going there now.) Lang name should
be able to have an umlaut, but it gets used for filename for now so
fix later....
2022-06-05 14:38:33 -07:00
Eric House
7e591f39a5 log isoCode 2022-06-05 09:07:06 -07:00
Eric House
ba132bb23d Replace LangCode with ISOCode, linux and common side
This will break the Android build, but it's the order in which I
work...
2022-06-05 09:07:01 -07:00
Eric House
33b636b458 cleanup around lc code; add to JNI 2022-06-04 14:18:03 -07:00
Eric House
4190926c0a add isoCode to DictInfo, and load it 2022-06-04 14:18:00 -07:00
Eric House
0e665a990e add langName and isoCode to dict struct 2022-05-28 09:00:20 -07:00
Eric House
df1606c8fb use ifdef to remove relay-only params 2022-05-15 12:10:37 -07:00
Eric House
2937aed7e1 log caller/lineno when string in stream too long
I'm seeing it and so want it logged in the future
2022-05-13 18:15:25 -07:00
Eric House
5f4dd46f72 rip out most devid stuff 2022-05-10 20:54:26 -07:00
Eric House
babccc9e21 logf -> logff 2022-05-10 20:54:25 -07:00
Eric House
63b0d7c2fb always clear initial address and add MQTT 2022-05-10 20:54:25 -07:00
Eric House
0eaa71fce6 remove relay from linux client via conditional compile 2022-05-10 20:54:25 -07:00
Eric House
da23bfe23b add debug pref to not add mqtt to all games
I want it for testing that stuff like NBS (data SMS) works for more
than connecting. MQTT works so well nothing ever gets used once it's
there.
2022-05-09 15:10:15 -07:00
Eric House
98cb3b4930 cleanup 2022-04-22 07:59:50 -07:00
Eric House
ab29dfa6ce cleanup 2022-04-21 13:26:26 -07:00
Eric House
05e2d2bdb9 cleanup 2022-04-20 21:00:51 -07:00
Eric House
1c9fe6745c fix crash with 23x23 (linux only); allow 6 blanks
Portuguese will want six blanks for a 21x21 board, so might as well
not crash in case that becomes a thing.
2022-04-20 13:17:07 -07:00
Eric House
5d6d8c7499 bring in changes to make larger boards work for linux
Includes making tile sets vary with board size, calculated from 15x15
unless present in the wordlist. Likely breaks android.
2022-04-04 10:39:29 +02:00
Eric House
9568e4ab03 move extra counts into header so new dicts backward compatible 2022-04-01 07:51:13 +02:00
Eric House
cdc77eaf68 add board sizes to wordlist format (English only)
Modify language metadata to have possibly different counts of tiles
for different board sizes. Make the necessary changes for loading such
files. Works on linux version at least. Only English will build for
now thanks to changes in info.txt format.
2022-04-01 07:51:13 +02:00
Eric House
4b1795cd5b fix crashes when quad-{word,letter} present 2022-04-01 07:51:13 +02:00
Eric House
d0bda214e6 use the right number of bits to store larger scroll vals 2022-04-01 07:51:13 +02:00
Eric House
70d301f210 use the same bonus pattern for all sizes
Just drop the outer "rings" where size < max
2022-04-01 07:51:13 +02:00
Eric House
372d722b58 make number of tiles proportional to board size
Until there's a way to specify specifically for each size, adjusting
from the built-in 15x15 tileset works reasonably well.
2022-04-01 07:51:13 +02:00