Eric House
3c770e023f
also grab native wordlist
2021-03-19 14:29:48 -07:00
Eric House
1cfefc3671
improve startup/new user
...
Ask for username and download a wordlist on startup
2021-03-19 14:29:48 -07:00
Eric House
d9ebf69ab5
route logs to console.log, not .error
2021-03-19 14:29:48 -07:00
Eric House
e61e1e9fb2
set newgame choices to defaults
2021-03-19 14:29:48 -07:00
Eric House
b0cc6dd744
clear name on delete; remove logging
2021-03-19 14:29:48 -07:00
Eric House
21b8cc0d95
store langauge name, display in title
2021-03-19 14:29:48 -07:00
Eric House
575e61059c
make dict alloc its own storage
...
having it keep a ptr passed in is dumb
2021-03-19 14:29:48 -07:00
Eric House
829242c9bb
fix to deal with failed downloads
2021-03-19 14:29:48 -07:00
Eric House
52b1300d90
cleanup; remove dead code
2021-03-19 14:29:48 -07:00
Eric House
17311dc757
get rid of dict processing where possible
...
The old API required passing dict into game creation/loading. New
doesn't, but in some places I was doing other stuff there (like checking
existance), so can't remove there. Still code goes away.
2021-03-19 14:29:20 -07:00
Eric House
970c2f6f9a
make android compile/run with wasm changes
2021-03-19 14:29:20 -07:00
Eric House
34aee3d7d0
add remaining langs to code-to-lang table
2021-03-19 14:29:20 -07:00
Eric House
598565836d
separate indexeddb filesystems for dbg and rel
2021-03-19 14:29:20 -07:00
Eric House
ef673d8df0
prune some logging
2021-03-19 14:29:20 -07:00
Eric House
c859caae8d
cleanup (and get rid of constant JS error)
2021-03-19 14:29:20 -07:00
Eric House
430b6894f0
correctly render utf
...
Was using the wrong API. Also upgraded font to DejaVu Sans
2021-03-19 14:29:20 -07:00
Eric House
f0d8a71deb
split dict faces using js so utf8 chars are ok
...
As with java, the platform knows utf-8 better than vanilla C, so use a
JS inlined function to split a binary stream into its "face" components.
2021-03-19 14:29:20 -07:00
Eric House
b3e4bc24af
remove dead file
2021-03-19 14:28:34 -07:00
Eric House
c19d82541d
allow language selection in newgame dialog
2021-03-19 14:28:34 -07:00
Eric House
4f524d0bb0
download wordlists when needed for invitation
2021-03-19 14:28:34 -07:00
Eric House
3c0edb3531
use constant consistently
2021-03-19 14:27:04 -07:00
Eric House
39be910b13
tweaks
2021-03-19 14:27:04 -07:00
Eric House
567c3dbf9e
show mempool stats (DEBUG builds)
2021-03-19 14:27:04 -07:00
Eric House
4937d13273
use indexeddb for storage
2021-03-19 14:27:04 -07:00
Eric House
2a6931fdcf
add and start using indexeddb via emscripten APIs
...
Replace a couple of load/store actions with new APIs that do so
asynchronously (using indexeddb underneath, via emscripten APIs.)
Required restructuring how app starts. More changes to come. The idea is
to replace wordlist storage: this'll keep 'em smaller and not require
conversion to string.
2021-03-19 14:27:04 -07:00
Eric House
55f590ca0b
choose the smallest dict available
...
I'm running out of memory when using the largest English
dicts. Something other than LocalStorage will have to be used for
Polish, but for now limp along with smaller wordlists.
2021-03-19 14:27:04 -07:00
Eric House
dd78abb116
separate dbg and rel directories
2021-03-19 14:27:04 -07:00
Eric House
664913b2eb
fix NPE when len not initialized
...
Duh....
2021-03-19 14:27:04 -07:00
Eric House
d5e7dc4c97
game from a downloaded wordlist works!!!!
2021-03-19 14:27:04 -07:00
Eric House
afc3ff156e
make game ask for dicts when needed
...
It's awkward for platform code to create a dictionary prior to opening a
game whose data contains the information about what dict to open. So add
a dutil method to fetch a dict, and call it from inside game opening
code. Makes linux code better at least.
2021-03-19 14:27:04 -07:00
Eric House
7924c046d6
fix linux compile
2021-03-19 14:27:04 -07:00
Eric House
5e9863adaf
snapshot: downloading wordlist seems to work
2021-03-19 14:27:04 -07:00
Eric House
2ab2f5642e
add name button and store wordlist
...
As a p.o.c., load the built-in wordlist into storage once, and
thereafter use it from there rather than as a file. Now it can go away
and a wordlist for the user's locale be downloaded and stored instead.
2021-03-19 14:27:04 -07:00
Eric House
c829017150
comment out logging
2021-03-19 14:27:04 -07:00
Eric House
0508fe1418
hide device buttons sometimes
2021-03-19 14:27:04 -07:00
Eric House
46ec7e5e3e
remove removed file
2021-03-19 14:27:04 -07:00
Eric House
06b530c443
add notion of index to storage
...
I'm heading toward being able to know what all the games are by how
they're stored in a xplatform way. This is a start. Adding a second key
to storage, and looking at grouping everything where one key or the
other matches.
2021-03-19 14:27:04 -07:00
Eric House
39161a1170
just some notes
2021-03-19 14:27:04 -07:00
Eric House
c9ea5c1f69
remove stuff from html
2021-03-19 14:27:04 -07:00
Eric House
4eede76780
add callback called when window regains focus
...
I need to redraw the canvas then, but haven't figured out yet.
2021-03-19 14:27:04 -07:00
Eric House
fa8bcd3c2c
url-decode args prior to passing to main()
2021-03-19 14:27:04 -07:00
Eric House
6b650907b2
regression: notify remote when deleted game messaged
2021-03-19 14:27:04 -07:00
Eric House
c801243dd5
hide game buttons when no game visible
2021-03-19 14:27:04 -07:00
Eric House
ffc42ed5e0
remove deleted games from games list
...
Was getting crashes since they could still be looked up
2021-03-19 14:27:04 -07:00
Eric House
61be81cf1a
invite known players
2021-03-19 14:27:04 -07:00
Eric House
30e6182c7a
sort game names in opengames dialog
2021-03-19 14:27:04 -07:00
Eric House
280390990f
use new scheme to simplify blank picking
2021-03-19 14:27:04 -07:00
Eric House
ae05e62a5a
Don't fail when two games have same name
...
Needed to change how callbacks worked, and that temporarily killed
sorting. Will fix.
2021-03-19 14:27:04 -07:00
Eric House
ab6abea6a7
use a callback instead of malloc inside js
2021-03-19 14:27:04 -07:00
Eric House
534e245048
change load-from-storage to not require free()
2021-03-19 14:27:04 -07:00
Eric House
03d76fbacd
use name from invitation
2021-03-19 14:27:04 -07:00
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