Commit graph

2824 commits

Author SHA1 Message Date
eehouse
caa5d6a55f implement enough networking to play a game via relay (provided I don't
quit on either device.)  Uses java.nio, a single thread blocking on
select() and a single SocketChannel.  Outbound packets are queued, and
incoming packets reassembled then passed to the JNIThread to be sent
to the jni for parsing.
2010-01-31 21:26:21 +00:00
eehouse
15ce0a12da add game_receiveMessage() (see prev note) 2010-01-31 21:22:55 +00:00
eehouse
b0e88eff83 implement util_makeStreamFromAddr() and (android-only)
game_receiveMessage(), the latter combining
comms_checkIncomingStream() and server_receiveMessage() which are
always used together and require a stream be passed between which
currently can't happen across jni.
2010-01-31 21:17:21 +00:00
eehouse
69cbff63f6 Hardcode ip address of emulator's host rather than eehouse.org for
easier debugging.  Needs to be in a preference....
2010-01-31 21:14:49 +00:00
eehouse
41472c4984 assert have at least one remote player 2010-01-31 21:13:31 +00:00
eehouse
49402ed218 Get comms info (host name, etc.) from user and pass it through to the
send proc.  Along the way, write jni code to instantiate a new object
including setting enums.  *Now* I'm ready for networking....
2010-01-30 20:06:06 +00:00
eehouse
bb90dce2c4 coalesce CMD_DO messages; fixes robot-vs-robot game. 2010-01-30 15:33:57 +00:00
eehouse
3798084dab idle via a local Runnable rather than having whole class implement it. 2010-01-30 15:33:16 +00:00
eehouse
20aad594e4 don't explain robot scores by default 2010-01-30 15:31:08 +00:00
eehouse
a01844e751 add Hex dict for help with testing. Don't ship. :-) 2010-01-30 14:56:21 +00:00
eehouse
7b0f100f27 wire in enough comms that java's send proc gets called when device is
a guest.  Networking's next....
2010-01-30 14:38:44 +00:00
eehouse
b915319178 create and pass to jni CommsTransport instance when game isn't standalone 2010-01-30 14:36:55 +00:00
eehouse
5b1a0f167e class that will implement network for comms 2010-01-30 14:35:33 +00:00
eehouse
4b9fa4d42a new "class" wraps TransportProcs 2010-01-30 14:33:28 +00:00
eehouse
333c5fc040 add makeByteArray() 2010-01-30 14:32:20 +00:00
eehouse
8def96dd59 pass params, e.g. clean, to make 2010-01-30 13:44:45 +00:00
eehouse
ee2fe9d193 get/set enums from C; preserve device role setting from ui to saved
game.
2010-01-30 13:44:12 +00:00
eehouse
c2e1e916b8 relay feature and logging on 2010-01-30 13:43:21 +00:00
eehouse
e86d656b4a substitute smaller built-in dict to save time moving bits during
development; don't hard-code name of built-in.
2010-01-30 03:31:20 +00:00
eehouse
6dfac28b13 rearrange to work with newer version of ndk and sdk just installed 2010-01-30 03:18:01 +00:00
ehouse
52b7205474 cache common java objects for reuse rather than build anew each time.
Seems to speed drawing a bit.
2010-01-27 13:51:23 +00:00
ehouse
40ac5694fd first submitted translation, for Catalan; improve string-checking
script to include locale directories
2010-01-27 05:19:59 +00:00
ehouse
5a288d3068 turn off debug for alpha drop 2010-01-26 14:52:52 +00:00
ehouse
874ef7e571 use top 16 bits of random in picking tiles. Seems to give better
results on android; will need to test with other platforms before
merging.
2010-01-26 14:51:00 +00:00
ehouse
ec085d8944 lots of little changes toward making prefs (per-game and global) work,
which they more-or-less do.  Some still not captured.
2010-01-26 14:48:37 +00:00
ehouse
c682a7caac snapshot work toward getting networking done. 2010-01-26 14:46:48 +00:00
ehouse
90f93aefa8 Add lots of widgets. List of players can no longer be a list since it
wants to scroll, so it's textview subclasses that don't show focus
correctly yet.
2010-01-26 14:43:39 +00:00
ehouse
0649597d90 Add prefs activity. 2010-01-26 14:38:31 +00:00
ehouse
4425eaa99e move showColors into CommonPrefs, removing separate storage in linux
and wince and removing setter from board and jni APIs.  Palm change
pending.
2010-01-26 04:14:18 +00:00
ehouse
b3dba204c6 fix compile warning 2010-01-26 04:03:21 +00:00
ehouse
73749f97a5 script to check .xml and .java files for missing string entries and to
add stubs.
2010-01-26 04:02:05 +00:00
ehouse
8a4c31b203 rename file 2010-01-25 03:05:15 +00:00
ehouse
68079d3590 Add ability to open utf8-formatted dicts and to display bitmap tiles
(though poorly.)  Both required processing in the jni that isn't
possible (e.g. because no libiconv included) so I created callbacks
into java from the dict building code.  Add ability to download dicts,
to select them, to add and remove players and make them robots or
human.  Robot-vs-robot game doesn't work well (robots trade a lot and
server_do seems not to be getting called enough) but will soon.
Coalesce penMove events.  Implement game list menuitems like delete,
copy, etc.
2010-01-25 02:49:14 +00:00
ehouse
676fd73fc0 Activity for downloading dicts with nothing but a WebView in it.
Works, but not cleanly.  Still need to get the path to
/sdcard/downloads programatically, and to exit cleanly back to parent
Activity.
2010-01-25 02:23:04 +00:00
ehouse
bf33bd4a0f ask permission to write to storage and use internet; add DictActivity;
take control of orientation changes for several activities.
2010-01-25 02:20:32 +00:00
ehouse
fc28573f21 include java files in TAGS 2010-01-25 02:09:08 +00:00
ehouse
82382a7cfa Pass results back via timers and call board_draw() when so indicates.
Needed to test dragDropSetAdd.  Candidate for merge to trunk.
2010-01-25 00:28:30 +00:00
ehouse
1073a98f9f add dragDropSetAdd which causes mid-drag tiles to be treated as if
they're 2/3 their height higher.  Meant to work better on touchscreens
where finger would otherwise prevent user from seeing where the drop
will land.  Still not tested or tuned on device.
2010-01-25 00:19:54 +00:00
ehouse
59aa9f6e15 instead of measuring glyphs one at a time, put hdc in TRANSPARENT mode
and draw them all, then measure the stack.  Candidate for merge to
main for wince release.
2010-01-25 00:12:09 +00:00
ehouse
b3c8327db1 Players are now in a list with a view into which they can be opened for editing. 2010-01-20 06:55:45 +00:00
ehouse
960fbd0b33 Fire GameConfig activity to edit a game; use file save/open methods in
Utils.
2010-01-20 06:54:09 +00:00
ehouse
f4535f3408 2010-01-20 06:52:37 +00:00
ehouse
dd05c5b58e add constructor that names player by position in game. (Template
needs to come from strings.xml)
2010-01-20 06:50:59 +00:00
ehouse
171318156d Remove board layout to JNIThread; format scores to show remaining
tiles and whose turn it is.
2010-01-20 06:49:38 +00:00
ehouse
7f0768a4f9 do board layout here rather than in BoardView so main thread isn't
talking to jni (fixes assert in jni catching overlapping calls from
both threads); call server_writeFinalScores for BoardActivity.
2010-01-20 06:48:43 +00:00
ehouse
92d5bbbf18 more strings and menu items 2010-01-20 06:44:58 +00:00
ehouse
ad013b8cc7 add server_writeFinalScores. 2010-01-20 06:44:02 +00:00
ehouse
a62af87a61 fix bogus assert; plug leaks when makeGameFromStream can only read a
gi; implement writeFinalScores.
2010-01-20 06:43:10 +00:00
ehouse
706fe3f927 implement remSelected and notifyGameOver 2010-01-20 06:41:14 +00:00
ehouse
7eccde84e3 Add utils like juggle() to be called from GameConfig; always keep max
number of LocalPlayer instances around so they can be filled from jni
code (which is easier than making the jni construct new instances.)
2010-01-20 06:38:29 +00:00