Commit graph

12371 commits

Author SHA1 Message Date
Eric House
523c9b270a keep games open and switch between them
Motiviation was to be able to deliver a message in the background, but
at least for now it's easier not to close games again. Can always do
that later if it's a memory problem.
2021-03-19 14:27:04 -07:00
Eric House
5cd4b31648 fix to do num-based comparison 2021-03-19 14:27:04 -07:00
Eric House
c8f22f5fb1 register with mqtt host 2021-03-19 14:27:04 -07:00
Eric House
033290bd69 cleanup, esp around js callbacks 2021-03-19 14:27:04 -07:00
Eric House
940e2569c9 fix exiting when another tab opened. And cleanup. 2021-03-19 14:27:04 -07:00
Eric House
41cd3d8f39 open game to receive message 2021-03-19 14:27:04 -07:00
Eric House
e2beccc85c sort games, fix buttons 2021-03-19 14:27:04 -07:00
Eric House
5b645abae8 cleanup 2021-03-19 14:27:04 -07:00
Eric House
3d87d4f60a name the closed game 2021-03-19 14:27:04 -07:00
Eric House
208a6b764c don't report as deleted a game that's just closed 2021-03-19 14:27:04 -07:00
Eric House
b386abcf9d make stuff better 2021-03-19 14:27:04 -07:00
Eric House
d5b1e429ea fix assertion failure 2021-03-19 14:27:04 -07:00
Eric House
79433de160 sending invites works
though play after it still glitchy
2021-03-19 14:27:04 -07:00
Eric House
43874a6a5d new game works
Only two options: local game with one robot, or networked needing to
invite someone.
2021-03-19 14:27:04 -07:00
Eric House
57783756d6 rename and open seem to work 2021-03-19 14:27:04 -07:00
Eric House
0c99b8490b implement new game and open game (roughly) 2021-03-19 14:27:04 -07:00
Eric House
9ec8952fdb move game stuff into separate struct 2021-03-19 14:27:04 -07:00
Eric House
3a0d0befc7 toward allowing multiple games 2021-03-19 14:27:04 -07:00
Eric House
c79d634458 add blank-picker dialog 2021-03-19 14:27:04 -07:00
Eric House
b80f3fdf06 implement wasm_util_remSelected 2021-03-19 14:27:04 -07:00
Eric House
be1042559a draw scoreboard larger for current turn player 2021-03-19 14:27:04 -07:00
Eric House
23cb7bb85d unsigned->signed to fix drawing garbage in empty tiles 2021-03-19 14:27:04 -07:00
Eric House
07d5bd9883 refactor: one method for rows of buttons 2021-03-19 14:27:04 -07:00
Eric House
ae4985e518 ask for username if not provided 2021-03-19 14:27:04 -07:00
Eric House
5abf13c4a2 new files to make EM_JS stuff sharable 2021-03-19 14:27:04 -07:00
Eric House
007e1e4acb add alert for asking user for string 2021-03-19 14:27:04 -07:00
Eric House
52773c577f make dialogs stackable 2021-03-19 14:27:04 -07:00
Eric House
540cf73496 cleanup: fetch checkboxes rather than pass in 2021-03-19 14:27:04 -07:00
Eric House
88e44d45ff fix so keyboard input works
Emscripen was hogging all keyboard events even when canvas didn't have
focus. There's an arcane way to fix that in js.
2021-03-19 14:27:04 -07:00
Eric House
74109ce172 fix to send after connect 2021-03-19 14:27:04 -07:00
Eric House
d53ab92af3 show game-over details 2021-03-19 14:27:04 -07:00
Eric House
5a061f5786 notify, and stop using, when another tab starts up
I'm wrestling with how to have concurrent tabs open. They can't be on
the same game because both can't connect using same MQTT dev id (and
they'd quickly get the saved state screwed up.) Only problem is
sometimes a tab in a new window doesn't have access to localstorage and
so is able to connect on its own. But later that state isn't reachable
any more: relaunch firefox and you get back the to the older state.
2021-03-19 14:27:04 -07:00
Eric House
dc90823e9b move alert to on top of board 2021-03-19 14:27:04 -07:00
Eric House
eec86e099d make alert and confirm non-blocking
Using a custom div and callbacks. TODO: make it floating so it's more
dialog-like. But that's just css at this point.
2021-03-19 14:27:04 -07:00
Eric House
76139c43f6 move most of my js into separate file 2021-03-19 14:27:04 -07:00
Eric House
9852142a2d draw letters centered 2021-03-19 14:27:04 -07:00
Eric House
7dc949fb38 choose font sizes to fit
Make on demand rather than guessing. Only wind up with six or so, so the
linear search is probably ok.
2021-03-19 14:27:04 -07:00
Eric House
fddac79dd8 rebase, and handle changed draw api 2021-03-19 14:27:04 -07:00
Eric House
96829b5478 fix so release build builds
without MEMDEBUG defined that is
2021-03-19 14:27:04 -07:00
Eric House
02a193902f get trade working 2021-03-19 14:26:18 -07:00
Eric House
bf5db08357 get rid of sGlobals! 2021-03-19 14:26:18 -07:00
Eric House
b368d0b801 pass closure from js to avoid global 2021-03-19 14:26:18 -07:00
Eric House
880bff747d use js runtime for timers too 2021-03-19 14:26:18 -07:00
Eric House
1813552b5e use native js for idle (timers next) 2021-03-19 14:26:18 -07:00
Eric House
40e72f8b29 snapshot (with textfield broken) 2021-03-19 14:26:18 -07:00
Eric House
c57471364f get URL-encoded invitation receipt working 2021-03-19 14:26:18 -07:00
Eric House
1b5cdce72c don't try to send when not connected 2021-03-19 14:26:18 -07:00
Eric House
7efc4b29bf get mqtt working again 2021-03-19 14:26:18 -07:00
Eric House
a1d6f25fc6 tweak makefile 2021-03-19 14:26:18 -07:00
Eric House
d586ccf67f work with WASM=1 and shell template to pass argv from url 2021-03-19 14:26:18 -07:00
Eric House
2eff5ebc7b cleanup 2021-03-19 14:26:18 -07:00
Eric House
4612ca70c7 snapshot: message exchange mostly works 2021-03-19 14:26:18 -07:00
Eric House
e3814bf0eb snapshot: sends message to inviter 2021-03-19 14:26:18 -07:00
Eric House
551765b120 launch asap 2021-03-19 14:26:18 -07:00
Eric House
40468d8a1b load existing game on launch 2021-03-19 14:26:18 -07:00
Eric House
c5aea32227 save game on changed 2021-03-19 14:26:18 -07:00
Eric House
3cb1183e96 Makefile tweaks 2021-03-19 14:26:18 -07:00
Eric House
9bc72d0745 move stream storage into super 2021-03-19 14:26:18 -07:00
Eric House
2c7568723f add missing files 2021-03-19 14:26:18 -07:00
Eric House
7dc309cc3d get local storage working 2021-03-19 14:26:18 -07:00
Eric House
b236b80a71 setup so load/store get called 2021-03-19 14:26:18 -07:00
Eric House
d7d3f293e7 cleanup 2021-03-19 14:26:18 -07:00
Eric House
cd614004ae two-robot game works 2021-03-19 14:26:18 -07:00
Eric House
15ae9da08b refactor so game init is repeatable (untested) 2021-03-19 14:26:18 -07:00
Eric House
ec9570ab81 improve drawCell() 2021-03-19 14:26:18 -07:00
Eric House
66a422e2a2 cleanup so building .html works again 2021-03-19 14:26:18 -07:00
Eric House
d620461574 fix so all compile 2021-03-19 14:26:18 -07:00
Eric House
ed274d9835 run naked, and add buttons for hints etc 2021-03-19 14:26:18 -07:00
Eric House
c2b56c8d32 modify to run "naked" 2021-03-19 14:26:18 -07:00
Eric House
656f433d57 snapshot: using alert() and confirm() 2021-03-19 14:26:18 -07:00
Eric House
3c791b0f3c git confirm working 2021-03-19 14:26:18 -07:00
Eric House
1d87c3facd snapshot: tile dragging works, timers don't 2021-03-19 14:26:18 -07:00
Eric House
9b4328d6dc snapshot 2021-03-19 14:26:18 -07:00
Eric House
a047a9c865 start changing colors 2021-03-19 14:26:18 -07:00
Eric House
de98a70b9f snapshot
Staring to hack stuff: I need an alert mechanism already to confirm a
move.
2021-03-19 14:26:18 -07:00
Eric House
0b34018d98 draw first text 2021-03-19 14:26:18 -07:00
Eric House
633896292a snapshot: drawing empty board 2021-03-19 14:26:18 -07:00
Eric House
947b28f3b3 snapshot: does something 2021-03-19 14:26:18 -07:00
Eric House
b62ab69799 add missing file 2021-03-19 14:26:18 -07:00
Eric House
073b5f6bf3 enable delete and archive when msg queue empties
Recent change added Delete button to game-over alert, but only when no
unacked messages remained (since deleted games can't continue trying to
send messages other games might still need to know the game's over.)
Typically the alert would go up and then, if the remote device is
online, shortly after acks would arrive. Now when that happens the alert
gets updated to offer to delete and archive.
2021-03-19 14:07:43 -07:00
Eric House
d5546b484d cleanup (mostly non-DBG compile errors) 2021-03-19 13:03:39 -07:00
Eric House
fb0807c14b fix so 0-percent works 2021-03-19 12:50:37 -07:00
Eric House
3f6f16c2f4 add script to print comms msg exchange details 2021-03-19 12:50:32 -07:00
Eric House
f335ea7ad9 remove or tweak logging 2021-03-19 12:50:28 -07:00
Eric House
5fa44e54fa remove unneeded .h file 2021-03-19 12:50:23 -07:00
Eric House
f9e1deabfc don't include dict tiles/values in initial server msg
There's code on all platforms to force user to have dict prior to
opening a game or responding to an invitation. "Empty" dict play hasn't
made sense in a long time.
2021-03-19 12:50:19 -07:00
Eric House
ca88d9c0bf backout ack change for now 2021-03-12 07:16:28 -08:00
Eric House
f947382f4c in comms, send ack on receipt of duplicate msg 2021-03-11 21:43:26 -08:00
Eric House
e30a02ee7c cleanup: more getting rid of Dialog 2021-02-25 17:20:15 -08:00
Eric House
d0323b5ce1 move game name field to top of dialog 2021-02-25 17:18:52 -08:00
Eric House
f7ba081e01 don't offer to archive or delete games missing acks
Once in the archive games don't ever send unless opened explicitly (no
resend-all-on-gained-network stuff for them). So don't offer to put a
game there if it has unsent (unacked) messages. Should prevent problem
of a host being archived before it's managed to send its final move to
all guests.
2021-02-25 12:13:23 -08:00
Eric House
c22526b1f7 Offer to delete finished games 2021-02-25 10:14:06 -08:00
Eric House
9804594237 cleanup: use AlertDialog not Dialog 2021-02-25 08:56:08 -08:00
Eric House
5c09d9b9a4 add commented-out javac option
(so I don't have to research it again)
2021-02-25 08:55:05 -08:00
Eric House
ad8451d5c9 fix NPE
When nothing has focus can't close keyboard. (Likely it's not up in that
case anyway.)
2021-02-24 21:18:59 -08:00
Eric House
1c9b94efbc hide keyboard when filter run and when filter closed 2021-02-24 20:15:58 -08:00
Eric House
5736870357 when filtering, enter key hides keyboard and applies filter 2021-02-24 20:08:43 -08:00
Eric House
e2b51beb60 for filters, bring up keyboard all-caps 2021-02-24 20:03:39 -08:00
Eric House
9af5ed2a6c add reset button to wordlist filter 2021-02-24 19:10:31 -08:00
Eric House
c97b9875bd cleanup: make TableLayout include less
Scroller is allowed only one child and I guess I wanted the TableLayout
to suffice, but having unrelated stuff in it sucked. So wrap it in a
LinearLayout and move the unrelated stuff out.
2021-02-24 19:03:52 -08:00