Commit graph

93 commits

Author SHA1 Message Date
Andy2
4e66747bbc fix for changed API 2011-11-03 21:35:17 -07:00
Andy2
a5498ee33a fix find to return position rather than boolean 2011-11-03 05:20:11 -07:00
Andy2
c222f08252 catch up with API changes. 2011-11-02 18:46:06 -07:00
Andy2
050a68ce42 use XP_REALLOC now that it's fixes 2011-11-02 05:04:31 -07:00
Andy2
9f2158f094 add dict_getStartsWith to jni 2011-11-01 18:43:36 -07:00
Andy2
482aca5cfb fix crash due to bad allocation of indexing data space. First cut
used XP_REALLOC, but that turns out to be broken, at least on android.
Haven't really used it before...
2011-11-01 18:33:29 -07:00
Andy2
11b7ed1e8e fix to compile with new dictiter files 2011-10-31 21:11:22 -07:00
Andy2
3c53da46ce fix to compile with changed API. Crashes, but want to fix up API in
other branch before debugging here....
2011-10-31 18:22:33 -07:00
Andy2
b490618c8e silence warning with cast 2011-10-28 06:34:59 -07:00
Eric House
ed055b83c6 export index from jni and use for fastscrolling. Works, but is a bit slow still. 2011-10-27 07:01:57 -07:00
Andy2
a7ce5a43de fix so count comes from dict; combine two jni methods into one; fix
crash in destructor.  Now an entire dict can be scrolled through if
you have the patience.
2011-10-25 18:36:12 -07:00
Andy2
74cf751729 use existing dict iteration APIs to implement jni that adequately
displays a dict.  But I don't have a getNth in C to implement the one
I've added in java; need to add that, and caching, to speed it up.
2011-10-24 20:15:52 -07:00
Andy2
c237717de5 dict_getInfo returns false if the dict doesn't parse so can be used to
test validity of downloaded dict.  Internally (in jni), add lots of
checks that format is correct and we don't run off end of ptr walking
truncated dict.
2011-10-23 14:21:57 -07:00
Andy2
6793742f0f remove option to list all words played in a single lookup dialog, and
supporting code in the jni/common C.
2011-10-14 22:32:30 -07:00
Andy2
90f11abc37 add to game state passed into java world whether it's the cur selected
player's turn, and use that to enable/disable Pass/Turn done button.
2011-10-05 06:36:01 -07:00
Andy2
fcdbed0920 fix to work with changed C api 2011-09-22 06:49:34 -07:00
Andy2
dced47e202 export server_listWordsPlayed via jni. 2011-09-18 19:06:23 -07:00
Andy2
c9c498786e add to game state whether any tiles selected. Use that to disable
'commit exchange' button when there's nothing to commit, and get rid
of error message used when committing nothing since it's now
impossible (on Android).
2011-09-09 19:04:25 -07:00
Andy2
42950c38bd export model_getPlayersLastScore() 2011-09-02 18:33:34 -07:00
Andy2
755d3e5bb2 as first step in using mmap for dictionaries instead of passing byte
arrays into the jni, pass the full file paths in in addition to the
byte arrays.  This isn't possible with the built-in dicts, but does
work for the downloaded ones (which are usually larger).  This checkin
does the mmap and uses memcmp to verify that the bytes are the same as
passed in.  Next step is to not pass the bytes when the path will do
and to actually use the mmap'd ptr.
2011-08-08 19:41:45 -07:00
Andy2
ab8e4e437b call server_do before passing message to server to give it a chance to
get any pending work done.
2011-07-04 12:37:23 -07:00
Andy2
232e4ec1e9 track missing players -- players for whom space is reserved locally
and whose names have not yet been received from host/server -- as part
of summary.  They can be drawn differently to give a clear visual
indication which games are not in play and for which the user might
want to issue an invitation.
2011-05-19 22:53:04 -07:00
Andy2
f05e02144c move setting gameID (if not already set) to creation of C version of
the struct so it always happens, and also set it back into the java
version at the same time.  Makes creation of new games easier.
2011-05-06 06:47:44 -07:00
Andy2
bf67a88c5a expect the array of dicts passed to include the game dict (as part of
changes to always have a game dict and to have player dicts only when
they're different.)
2011-04-25 20:16:38 -07:00
Andy2
c814226a08 get rid of gi.dictName: don't pass it across the jni boundary 2011-04-21 18:29:37 -07:00
Andy2
002bb40a09 report counts/values using language rather than dictionary name. To
support that, pass lang name from java into jni.
2011-04-11 18:55:42 -07:00
Andy2
c6cd60deef Save and restore per-player dicts; load games that have 'em correctly.
Robots default to BasEnglish dict and humans to CollegeEng.  Add new
per-game default for robot dict.  Still need to deal with language
changes and non-English case in general.
2011-04-11 06:42:17 -07:00
Andy2
97d54c86eb snapshot: track dictName per player in addition to per game. Not yet
used yet; need to pass into jni next.
2011-04-08 06:50:08 -07:00
Andy2
3b7b4802a9 add ability to specify, track and use separate dictionaries for each
player.  Works for gtk client.  Compiles for Android but there's no UI
yet to specify more than one dict.  Management of dupicate dicts
without duplicating memory -- refcounting -- will be up to the
platforms.
2011-04-01 19:57:10 -07:00
Andy2
d9bb5197d4 Add two new menus to be available only when in trade mode. Hide and
show them and another group depending on whether trading at the time.
To make that work, replace the individual calls made to dis/enable
toolbar buttons with a single jin call that takes a struct full of
booleans and make that struct available in BoardActivity where menus
are hidden/shown.  Remove the individual calls from the jin interface.
2011-03-10 18:13:56 -08:00
Andy2
5afb7aadff add dict_getTileValue 2011-02-24 22:23:57 -08:00
Andy2
f382f17d20 make game_receiveMessage return even if server doesn't do anything
with it -- since caller will use the return value to decide whether to
save state.
2011-02-24 17:33:10 -08:00
Andy2
c587a11ee2 Add turn and isrobot/islocal flags to summaries DB, and use to
background in green the player whose turn it is provided that player's
local.
2011-02-04 06:20:40 -08:00
Andy2
c2be642302 add game_getGi to fetch into java world any changes to the gi in the
jni world.
2011-02-01 18:53:29 -08:00
Andy2
6495bd321f fix to compile with robotiq changes 2011-01-10 06:57:10 -08:00
Andy2
f50e6b3f1b turn dict_getLangCode into dict_getInfo, adding a struct that contains
lang code and new word count.
2010-12-06 18:25:23 -08:00
Andy2
71059e6dff remove nPlayers from game_summarize 2010-11-19 18:23:34 -08:00
Andy2
82876bda06 add seed and fetch it in jni 2010-11-08 17:23:16 -08:00
Andy2
f36b253ae7 add number of players to GameSummary. Changes DB but it's already
changed since last beta so I'm not upping the version.
2010-11-06 18:24:44 -07:00
Eric House
4ae58342da test, don't assert: comms can be null 2010-10-28 05:45:56 -07:00
Eric House
eba5b77494 add comms_isConnected; public room variables default to false 2010-10-27 20:50:11 -07:00
Andy2
99dbbb443c add comms_canChat, which knows better than java code what state a
connected game is in, and call it to determine whether to show the
chat icon.
2010-10-21 19:14:10 -07:00
Andy2
cb4092bb39 make relayID a String rather than a byte[]; log result of pending
messages query to confirm working.
2010-10-06 05:21:19 -07:00
Eric House
b3c7cb3711 start on sending chat messages. Doesn't even compile -- committing to get onto another machine. 2010-10-04 05:38:05 -07:00
Andy2
4ea9ff8226 add server_reset and util_setIsServer to jni 2010-09-24 18:45:42 -07:00
Andy2
c6c1a93de5 copy new dictLang field java<->c 2010-09-01 06:51:09 -07:00
Andy2
cf6d8efb29 new jni method to get lang code. Takes a dict's raw bytes and builds
a dict object just to fetch the code, which is pretty inefficient, so
caching should be added later on the java side.
2010-08-25 06:33:16 -07:00
Andy2
a34ccb424f device now passes list of "relayID"s, consisting of connName plus
device id, to relay, one for each stored game that's communicating via
the relay.  Relay parses out each relayID.  Next relay can use these
to look up whether messages are available and reply with that, and
device can put up a notification.
2010-08-22 12:16:57 -07:00
Andy2
51d759569a call srand with current time (attempting to fix what may be duplicate
seeds on relay, possible if rand() always starts with same sequence on
different devices in new process); add commented-out logging util_rand
implementation.
2010-07-29 06:53:06 -07:00
Andy2
fb8692fb9f add preference for allowPeek 2010-07-17 07:06:33 -07:00