Commit graph

562 commits

Author SHA1 Message Date
ehouse
b171900dfb When moving focus through tray, skip empty space; when through board,
skip cells with tiles permanently played.  Space char raises focus but does
not move it laterally.
2006-11-09 06:05:40 +00:00
ehouse
1f5ec02172 If no arrow visible, use cursor loc as destination when moving tile to tray. 2006-11-08 13:44:34 +00:00
ehouse
414580904f board doesn't handle focus-related keys unless it has the focus. 2006-11-08 05:04:44 +00:00
ehouse
2e9afb1ff2 remove typo blocking compilation 2006-11-07 13:43:30 +00:00
ehouse
2aa9664884 When internal focus reaches edge of object, move it back up and onto
the next object using a callback to the platform to determine what, if
any, object is next.  Adjust curses platform to cooperate.  Works
well.  Palm is next.
2006-11-07 05:46:44 +00:00
ehouse
44eaa36319 More progress on one-handed navigation: fix ncurses board clipped to
bottom of tray; add focus-related params to draw*Finished routines
(and simplify to one) so platforms don't have to save from Begin
routines (and stop palm doing that); check version of saved game, and
handle case where older binary tries to open newer version; redraw
Palm tray buttons after focus change to stop focus-rect ghosting; fix
annoying overlap in saved games dialog; palm version goes to a3.
2006-11-05 16:54:18 +00:00
ehouse
3153e2b867 Lots of progress on one-handed navigation: add gadgets to stand in for board
scoreboard and tray on palm; make center drill into the focussed object and
spacebar come back up then move the focus among them.  Integrate with other
focussable objects on main form.  Go from separate drawCursor routines to
same for all three, with cursor only visible when focus is drilled down.
On curses, add a hilite rect routine that can be called after text is laid
down, and use for cursors.
2006-11-03 06:23:54 +00:00
ehouse
57f2f4ba2a debug functions to turn enums and defines into loggable strings 2006-11-03 06:19:27 +00:00
ehouse
a5f71143c0 Fix crash on pre-fiveway palmos where FrmGetFocus always returns -1;
add new preference for whether small value nums are drawn in tiles in
tray.
2006-10-29 17:41:14 +00:00
ehouse
266355b7b2 New type XP_TriEnable meant to be used more than just for new games:
controls are hidden, disabled but visible, or enabled.
2006-10-28 13:21:32 +00:00
ehouse
2639c80c84 add uninited state so can reload dialog with no assumptions about platform
widget state.
2006-10-23 13:56:43 +00:00
ehouse
d234fc637d make IR the default conn type on Palm, where it's been the only type
until now.
2006-10-15 14:09:17 +00:00
ehouse
cb2990b720 add const to a few formal param declarations 2006-10-15 13:53:17 +00:00
ehouse
9aa8faa1d1 Switch player count string for client in new game case. 2006-10-12 13:55:16 +00:00
ehouse
5f25ba9f57 remove BEYOND_IR, replacing with XWFEATURE_RELAY and
XWFEATURE_BLUETOOTH.  The goal is to be able to build to support
bluetooth only, or relay/ip only, e.g. for a palm bluetooth beta.
Seems to work.
2006-10-10 01:34:37 +00:00
ehouse
277624eb81 Don't return from middle of function. 2006-10-07 03:37:40 +00:00
ehouse
878acbc759 Fix opening games and messages saved by last shipping version on Palm
by checking version and loading new fields conditionally.  (Not yet
tested for current wince version.)
2006-10-05 01:17:03 +00:00
ehouse
715d01b8a4 Put relay-only fields into a struct for easier identification. No code change. 2006-10-02 14:26:56 +00:00
ehouse
9837d8cca7 Fix longstanding bug removing too few messages from queue on ACK.
Print queue as part of stats.
2006-09-27 01:54:53 +00:00
ehouse
ef97beaf2c Tweak enable/disable logic to show fields for remote players for the
informational case that are hidden for new game case -- e.g.  name,
which can be read but not set.
2006-09-24 21:10:17 +00:00
ehouse
edd48174a3 Add more consts. 2006-09-24 15:28:15 +00:00
ehouse
5e09041d8b bug: even empty strings need to be terminated. 2006-09-23 16:05:41 +00:00
ehouse
12731c59cb fix ARM crash loading bt game saved on 68K: specify sizeof array
rather than struct wrapping it.
2006-09-23 16:04:53 +00:00
ehouse
04c5401711 What I meant to check in. F***ing emacs. :-) 2006-09-23 15:22:26 +00:00
ehouse
9ab6ac701c cleanup and remove logging. 2006-09-23 15:18:44 +00:00
ehouse
e10d05eff0 On bringup for bluetooth, resend any waiting messages rather than an
empty new one to get the connection started.  This increases the
chances new games will connect without user having to hit resend.
2006-09-23 15:18:01 +00:00
ehouse
b3af1d4d2a When a client registering n players with server, send the first n,
ignoring local flag which nwgamest doesn't set in client case.  When
resetting, destroy any engine allocated: plugs new leak.
2006-09-23 15:15:57 +00:00
ehouse
213cfbb050 set crosschecks inline 2006-09-23 15:12:10 +00:00
ehouse
8667bb77bf remove over-agressive attempt to detect out-of-order messages that was
breaking IR comms.
2006-09-17 05:06:46 +00:00
ehouse
4bdef12c3e Prune excessive logging 2006-09-17 04:45:19 +00:00
ehouse
9239d34f19 strutils syntax changes. Rough cut at reordering loading in game
info: when the device is a client and is starting a new game, we want
to start presenting only the local players.  So load them first, and
reduce nPlayers down to the count of current local players.  Works
well, but can probably be simplified.
2006-09-15 07:36:51 +00:00
ehouse
4029120fc6 do a better job of rejecting messages that have strayed in from a
different game; strutils syntax changes.
2006-09-15 07:34:39 +00:00
ehouse
e627d7f670 do a better job of rejecting messages that have strayed in from a different game. 2006-09-15 07:33:59 +00:00
ehouse
7e049bb986 new strutils macro syntax 2006-09-15 07:32:39 +00:00
ehouse
804b3c5f76 params become const 2006-09-15 07:32:04 +00:00
ehouse
a82e84c177 params become const; new macro syntax for strutils 2006-09-15 07:31:24 +00:00
ehouse
d7a2fadd39 modify MEM_DEBUG versions of strdup utils to record the __FILE__ and
__LINE__ of callers rather than their own to assist in leak detection.
2006-09-15 07:30:00 +00:00
ehouse
100598a35f Make formal param const; add initial value to relay-only field so
asserts don't fail b/c of uninitialized value; don't typedef array:
make array field of struct.
2006-09-14 01:25:40 +00:00
ehouse
0339de1de6 Check state before accepting post-connection messages; and always set
state when completing connection process.
2006-09-10 18:58:10 +00:00
ehouse
1be6172e16 use tmp buffer to avoid copying one byte at a time. 2006-09-10 18:53:03 +00:00
ehouse
2c5d15a8dd remove param from util_addrChange; add comms_getIsServer; save bt_addr
as part of comms.
2006-09-08 07:14:24 +00:00
ehouse
3db4dc8a27 make formal params const where possible 2006-09-02 05:30:51 +00:00
ehouse
6b527014c8 when logging state transitions, don't unless there's a change 2006-09-02 05:29:59 +00:00
ehouse
16519a2070 fix bug checking crosschecks with more than 32 tiles. 2006-09-02 05:29:13 +00:00
ehouse
e0edcb52a8 bug fix: reset stack data stream before getting length and writing. Assert
so easier to catch similar problems.
2006-09-01 04:32:57 +00:00
ehouse
209da1b042 use stream_getSize to detect corrupt (truncated) messages. 2006-08-29 13:18:12 +00:00
ehouse
12f115b2ac make getSize return diff between what's been written and what's already
been read.
2006-08-29 13:13:43 +00:00
ehouse
74c6b241d7 Put up BT device browser while user is picking connection method
rather than when trying to send for first time, then pass address
through from conns dialog to bt code.
2006-08-26 21:12:10 +00:00
ehouse
406d746fbf add LOG_HEX 2006-08-26 20:28:48 +00:00
ehouse
0c915e61b0 First shot at bluetooth support (turned off in Makefile by default).
A full robot vs. robot game now works between two Treos.  Added UI to
choose BT as transport mechanism, and added new send proc to establish
socket connection between host and guest.  Works only for two devices:
no piconet yet.  No error recovery, ability to quit game in middle,
start new game, etc.
2006-08-23 04:44:55 +00:00
ehouse
94b952fb26 Fix assert: implicit cast to boolean doesn't work when bit being
tested is outside the low-order byte.
2006-08-22 04:20:40 +00:00
ehouse
4daabf6fe5 Set -Wunused-parameter for those versions of gcc that support it, and
deal with the output by removing params where possible and elsewhere
by adding XP_UNUSED macro wrapping __attribute__((unused)).  There
should be NO change in function in spite of the large number of files.
2006-08-16 13:44:44 +00:00
ehouse
5d161cdd77 optimize for the case where tiles are < 32. Previous imlementation of
64-tiles support increases engine times by ~5%.  This removes that effect.
I can't measure any slowdown vs. pre-change engines.
2006-08-12 01:59:03 +00:00
ehouse
0b868f5b53 Base the number of bytes used to store tiles on the number in the
current dictionary.  This allows us to continue to open games saved
with older code using older dictionaries while still supporting the
new format for up to 64 tiles.  Old versions may crash when opening
games created by new versions, but that's probably ok.
2006-08-10 01:21:31 +00:00
ehouse
c41b211735 increase possible number of unique tiles from 32 to 64 in order to
support Slovak which has 40.  This change is preliminary: it seems to
work for both existing and dicts with >32 chars, but it breaks backwards
compatibility: existing saved games will crash this code.  I think the
fix is to deduce the number of bits per tile from the number in the
dictionary being used, but that's not in yet.
2006-08-09 04:56:34 +00:00
ehouse
7c0c6461cd add another const 2006-08-09 04:52:43 +00:00
ehouse
ef8add4b26 was being just a bit too cute 2006-08-09 04:49:17 +00:00
ehouse
af2eb79a4e make some ptrs const 2006-08-09 04:48:34 +00:00
ehouse
27057de11e Replace a bunch of doMirror parameters with a single function, called
after a flip, that invalidates y,x for every x,y that's invalid.
2006-07-07 08:27:13 +00:00
ehouse
5ea2b3f8a2 in juggle, need to adjust rows after swapping to get passwd fields enabled
in sync with passwd checkbox.
2006-07-02 00:34:41 +00:00
ehouse
9a52d82e0d newg_juggle returns bool indicating whether anything changed 2006-06-29 03:38:25 +00:00
ehouse
7614d971c1 randIntArray runs once and returns whether array is modified. Tray calls
again until it is.  newgame calls once: it's possible that juggling won't
do anything.  Still pending: do we tell users when nothing changed, or
leave them to figure out that it's not a bug?
2006-06-27 06:30:44 +00:00
ehouse
354cde389e remove unused parameter 2006-06-26 04:39:48 +00:00
ehouse
6ecbf11ad6 Rewrite juggle to just create a second set of players in juggled order.
The previous too-cute algorithm failed when any player wasn't moving.
2006-06-24 01:20:44 +00:00
ehouse
15df92fc65 add missing include file 2006-06-22 03:36:51 +00:00
ehouse
45979f547a disable juggle button if only one player active; copy all four players when saving game state after dismissal. 2006-06-18 19:02:47 +00:00
ehouse
46cd6e8536 add ifdef for compile with some optional condition 2006-06-16 01:46:47 +00:00
ehouse
f60dade9a0 move randIntArray to strutils, and use instead of similar code to juggle tiles in tray. 2006-06-16 01:19:11 +00:00
ehouse
b8a8c1c175 Fix juggle so it works for 3 players too. 2006-06-15 13:05:56 +00:00
ehouse
133016bd1d cleanup; fix compile of non-debug win32 version 2006-06-11 20:12:20 +00:00
ehouse
0460136a90 You can always change passwd for local player. 2006-06-10 16:10:33 +00:00
ehouse
44abbc4493 Add new attributes to cover strings for number of players and remote
column head; make enabled an enum to differentiate between hidden and
disabled.
2006-06-10 05:45:53 +00:00
ehouse
16dd84b059 Fix to compile in STANDALONE mode, e.g. for current PPC. 2006-06-08 01:51:34 +00:00
ehouse
956c169d08 Refer to players as "remote" rather than "not local" to be consistent
with Palm and PPC; fix juggle bug by adjusting lines after moving them.
2006-06-08 01:26:18 +00:00
ehouse
e58d397c2b change newgame api names; implement juggle; change getter to take a
callback to copy strings that will go out of scope before the getter
returns (e.g. wince).  Use changed API in gtk dialog.
2006-06-07 01:45:03 +00:00
ehouse
9b6562e455 make a param const 2006-06-07 01:26:55 +00:00
ehouse
d918b9cb44 add common/nwgamest.{c,h} to make new game dialog logic cross-platform 2006-06-07 01:26:04 +00:00
ehouse
2ba984775a trivial optimization: add 1 only once 2006-05-30 04:34:35 +00:00
ehouse
b8d3d477a5 fix scrolling and invalidation for flipped boards, and especially
where the board is still not fully visible when the tray is hidden.
2006-05-28 16:08:58 +00:00
ehouse
65540759b5 clear multiple tile selection when trade ends even if cancelled 2006-05-23 01:53:18 +00:00
ehouse
abad0c7fd0 Get rid of hard-coded tile number limit in server_formatRemainingTiles 2006-05-23 01:52:20 +00:00
ehouse
778e68e4dd Increase size of buffer used to accumulate letters for "tiles left"
dialog.  French has 15 "E"s, and the old buffer size allowed an
overflow (crash) when at least 13 of any letter were left.
2006-05-21 01:54:48 +00:00
ehouse
19414ae505 Finish scrollbar work by passing number of visible rows to
util_trayHiddenChange, which means an API change.  In board, calculate
bottom of board based on bottom of tray when tray is hidden, and round
so that it's an exact multiple of cell height.  In wince, take
advantage of the new parameter to fix the scrollbar so that very
constrained boards can be scrolled even when the tray is hidden.
2006-05-19 13:44:05 +00:00
ehouse
f69d433b7c Reset divider location on new game. 2006-05-19 13:31:18 +00:00
ehouse
70be257d8c First attempt to set board bounds based on tray bottom if tray
overlaps board.
2006-05-17 06:12:40 +00:00
ehouse
bb7e827703 for vertical scoreboards, force miniwindow to be entirely inside the board. 2006-05-14 15:27:29 +00:00
ehouse
4bb82554e5 Since board can now sometimes only partially hide tray, introduce
distinction between obscuring and completely hiding.  In former case,
erase the tray rather than draw it partially hidden.  This means
drawing the tray before rather than after the board, which is a big
change that so far doesn't seem to have hurt anything.  If it does, it
might be necessary to draw it before and after the board.
2006-05-12 08:03:08 +00:00
ehouse
c496593800 tweak score layout, and remove a U8 that was overflowing on win32 2006-05-10 13:42:44 +00:00
ehouse
28411a4466 API change: board is responsible for figuring tile size and giving
extra pixels to divider.
2006-05-06 14:42:38 +00:00
ehouse
4ec6af22cb Include name of dict so it can get printed. 2006-04-30 13:58:24 +00:00
ehouse
ef6ebe6bac Add, and use, stream_putString. Saves 500 bytes on win32. 2006-04-25 13:31:15 +00:00
ehouse
b10ca04e07 don't exclude BEYOND_IR-only fields 2006-04-07 03:08:23 +00:00
ehouse
63a8e0adbb Add macros to draw.h, and use 'em for wince, so that a platform can choose to call draw.h methods via a vtable or static linking. 2006-04-01 21:01:20 +00:00
ehouse
a121388762 no harm in copying field when feature not available; may help newer
version to open file.
2006-03-04 16:07:21 +00:00
ehouse
6b140d641b fix b5 crasher: check for stream equivalence with the older version
now that current version's been upped.  Rename old version to better
indicate when it was current.
2006-03-04 06:12:38 +00:00
ehouse
e12abddcd9 new directories to ignore 2006-02-18 14:08:04 +00:00
ehouse
fb0d471dae add const decls to draw.h and dictnry.h functions where appropriate,
and modify "subclass" methods to match.  Should be no code change, but
this makes the intent of the APIs clearer.
2006-02-18 06:39:40 +00:00
ehouse
5aeb5dc6fa makefile cleanup 2006-02-17 07:27:36 +00:00
ehouse
dd9298e95f make remDim 16-bit so doesn't overflow on large-screened devices 2006-02-14 04:53:45 +00:00
ehouse
502cddcf1f debug macros and wierd rewrite of code using random and mod. This makes it work on ce! 2006-01-31 06:42:53 +00:00
ehouse
92485783af update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ehouse
768cfd597a fix bug truncating tray display in history by adding size param to
formatTray()
2005-10-30 18:35:21 +00:00
ehouse
cda5996195 fix unset var warning 2005-10-30 16:14:13 +00:00
ehouse
6835b6d1eb New scheme for accepting and limiting reconnections. Now device must
send player counts, local and expected.  Based on these the relay
accepts connections, declares the game full and ready for message
forwarding, and decides whether to accept a reconnect.
2005-10-02 15:39:38 +00:00
ehouse
c5add889cb make transmitted vars smaller where possible; new relay identifying
scheme where cookie is used only to connect, and is replaced for
reconnects by a relay-generated name that's supposed to be unique
across all games on all relays; let relay assign non-servers' hostIDs
rather than doing 'em randomly; use hostIDs for comms-level protocol's
channelNo where possible to avoid tripping over duplicate messages
2005-10-01 16:01:39 +00:00
ehouse
3db9c4e7e9 new constant 2005-10-01 15:52:16 +00:00
ehouse
b6933b5b9b stream version change 2005-10-01 15:51:54 +00:00
ehouse
c71b442229 comment on shuffling 2005-10-01 15:51:35 +00:00
ehouse
20c87b4c19 fix streaming so four devices can be in game. 2005-10-01 15:51:14 +00:00
ehouse
5c01044e8c send disconnect message to relay before starting a new game. 2005-09-05 15:33:51 +00:00
ehouse
466e21f608 formatting 2005-09-05 15:32:40 +00:00
ehouse
6f8b33a05b reset cookieID for a new game 2005-09-04 20:30:47 +00:00
ehouse
59edec4955 handle OTHER_CONNECT message by resending any unACKed messages. 2005-09-03 18:31:32 +00:00
ehouse
abbd1a072f handle other-disconnected error message 2005-09-03 15:37:49 +00:00
ehouse
ab0e833a9b Receive disconnect events and display message for error codes. 2005-09-03 06:57:01 +00:00
ehouse
6a0abc16e8 Add range for relay errors. 2005-09-03 06:56:33 +00:00
ehouse
39fa5728ef send XWRELAY_RECONNECT 2005-09-02 06:26:33 +00:00
ehouse
bef309be3f add stream_setOnCloseProc 2005-08-21 14:33:38 +00:00
ehouse
e8a94b670a rename constant 2005-08-21 14:04:32 +00:00
ehouse
9abf6f8970 add a const 2005-07-30 01:48:17 +00:00
ehouse
24fb48008f cleanup for wince compile 2005-07-23 15:28:15 +00:00
ehouse
77d7bc9fa7 add const 2005-07-23 15:21:23 +00:00
ehouse
bc3515272c Get rid of unused param 2005-07-14 02:54:47 +00:00
ehouse
8acfb31153 protect TIMER_HEARTBEAT for standalone platforms 2005-07-09 15:27:06 +00:00
ehouse
f082c6ad2e dict_tilesToString sig change; remove glyph-measuring API just added
(since it belongs in drawing, not dict)
2005-07-08 03:06:08 +00:00
ehouse
dc84bd22df dict_tilesToString sig change 2005-07-08 03:02:31 +00:00
ehouse
9e76871306 (conditionally) modify dicts to support getting height of platform
glyphs, pass into drawing code so can be fetched and cached, and
implement for Palm.  This is to allow drawing glyphs (like Danish's
A-with-circle) that are taller than normal without the visual padding
the rest can have.  So far works for 68K/non-highres.  Will not
compile for ARM yet.
2005-07-07 03:46:07 +00:00
ehouse
3b53363e16 Pass protocol version code with connect request, and return error if
it isn't what relay can handle.  Report error to user.
2005-07-06 01:36:52 +00:00
ehouse
5b3e5fbf18 name change 2005-07-06 00:58:20 +00:00
ehouse
1ae6c010c9 Make cookieID a 32-bit value instead of 16-bit 2005-07-05 23:02:15 +00:00
ehouse
327fb7b001 eliminate unnecessary setHeartbeatTimer call 2005-07-05 20:57:37 +00:00
ehouse
978d840df7 put back functions that never should have been removed. 2005-06-27 05:45:28 +00:00
ehouse
6728862399 cast to stop warning on wince 2005-06-27 03:56:09 +00:00
ehouse
e92234b324 cleanup: make module-local functions static 2005-06-25 05:43:56 +00:00
ehouse
dfccb19667 convert util_setTimer to take procptr; remove timer call on board; add
heartbeat to comms that uses util_setTimer with new timer type.
2005-06-23 04:16:53 +00:00
ehouse
c57206f483 catch franklin up with recent API changes 2005-06-16 05:12:28 +00:00
ehouse
9d5ea796f3 don't draw board before it's set up 2005-06-13 14:51:21 +00:00
ehouse
06e28770d1 make one formal param const 2005-05-29 19:31:09 +00:00
ehouse
4095acc327 casts to stop compiler warnings 2005-05-29 19:29:33 +00:00
ehouse
31e1a46087 separate internalization of comms from call to connect to relay since
the first must finish before the caller will have a valid reference to
comms.  call util_addrChange.
2005-04-03 17:00:59 +00:00
ehouse
0629dc5223 separate internalization of comms from call to connect to relay since
the first must finish before the caller will have a valid reference to
comms.
2005-04-03 16:58:36 +00:00
ehouse
de4af7c8ce add util_util_addrChange 2005-04-03 16:57:01 +00:00
ehouse
ad6de22306 add comms_getInitialAddr; protect against recursive sends 2005-04-03 02:49:04 +00:00
ehouse
3d27d0d882 add comms_getInitialAddr 2005-04-03 02:48:50 +00:00
ehouse
39185fef17 create new comms object if needed for non-first game 2005-04-03 01:36:59 +00:00
ehouse
c9f60e758c don't instantiate comms unless it'll be used. Internally it has no
idea it's not supposed to connect to relay otherwise.
2005-03-25 03:11:54 +00:00
ehouse
24690a2a10 too much logging 2005-03-21 05:29:37 +00:00
ehouse
290cb0b9da fix to build in standalone case 2005-03-20 19:43:00 +00:00
ehouse
edceee12a8 add XP_LD so symbian can long 32-bit vals 2005-03-20 19:41:30 +00:00
ehouse
078ab48fa1 fix bad assert 2005-03-20 15:01:59 +00:00
ehouse
d6efb446d1 Wrapping protocol around standard comms stuff that talks to the relay.
Revert previous relay-related changes.
2005-03-19 22:01:38 +00:00
ehouse
19b0d88a69 remove gross connectRelay hack. There's now a wrapping protocol that
talks to the relay entirely inside comms.c.
2005-03-19 21:48:47 +00:00
ehouse
8eb4abac6f added '-I relay/' 2005-03-19 21:47:18 +00:00
ehouse
fc6095255d listen port goes away; add separate union member for relay addressing 2005-03-19 21:46:51 +00:00
ehouse
022fd1cb9d util_listenPortChange gone 2005-03-19 21:45:21 +00:00
ehouse
272e66e635 nuke logging that was polluting ncurses screen 2005-03-19 21:44:35 +00:00
ehouse
af8602f63b add stringFromStreamHere() 2005-03-19 21:44:09 +00:00
ehouse
dd8f2f92c5 fix problems with clients in networked games making a move after the
game should end: check number of passes and that all players still
have tiles before running robot.
2005-03-15 15:18:58 +00:00
ehouse
2e0ee693bc add assert 2005-03-15 15:13:52 +00:00
ehouse
26cd5c2d88 add model_recentPassCountOk 2005-03-15 03:31:52 +00:00
ehouse
36bba4024b move playerNum into dsi so can be used in formatting score 2005-03-15 03:27:24 +00:00
ehouse
219b6ce937 save hostIDs as part of comms; add logging 2005-03-09 15:18:17 +00:00
ehouse
f5c43f3dfc add util_addrChange 2005-03-09 15:14:10 +00:00
ehouse
ef828a0bdf fix misspelling 2005-03-09 15:12:57 +00:00
ehouse
0f9eb528d8 fix conflict with type from Palm headers; fix for non-BEYOND_IR case. 2005-03-08 05:33:38 +00:00
ehouse
cb3a3854e9 add support for relay for use by NAT'd/firewalled devices: cellphones.
Include cookie users will agree on on for relay rendevouz, and
sender/receiver IDs for when there are >2 devices in game.  Supports
games between linux clients now, but needs a lot more work.
2005-03-06 17:56:34 +00:00
ehouse
71870695cc HACK: server must ping relay or it can't be contacted 2005-03-06 17:51:18 +00:00
ehouse
2e9dd5f3ea cleanup; add debugging info for state changes 2005-03-06 17:49:37 +00:00
ehouse
5894369301 when undoing for purpose of finding last move and there's no pool,
don't attempt to replace tiles.
2005-02-02 02:51:05 +00:00
ehouse
49e4c1f6e4 keep hostname as well as IP address in CommsAddrRec 2005-01-31 03:31:50 +00:00
ehouse
fa7dcd1217 EXTERN_C_START 2005-01-31 03:30:26 +00:00
ehouse
27b6f310b5 bug: comparison was dropping words with the same score as all those
already cached.
2005-01-25 04:39:55 +00:00
ehouse
66eeeae7d6 change trayCursorLoc to be a 3-bit number so stores smaller 2005-01-23 17:28:29 +00:00
ehouse
974bf14ec4 ex/internalize cursor locations 2005-01-23 17:26:38 +00:00
ehouse
333c795f3c kill log statement 2005-01-23 08:20:13 +00:00
ehouse
67be3191c8 revert change to board_invalRect 2005-01-23 08:17:37 +00:00
ehouse
ee3d6381dd board_invalRect params change 2005-01-23 06:14:07 +00:00
ehouse
3cc77cc8ce remove dead param; fix inval and choice of inverted cells so recent
move is not shown when pending move is.
2005-01-23 06:00:27 +00:00
ehouse
90d700356d remove dead param 2005-01-23 05:55:58 +00:00
ehouse
4d98925b91 provide callback for most recent score; return key on hidden tray
attempts to reveal; add focus obj to saved state.
2005-01-22 19:51:48 +00:00
ehouse
7482c07ba5 add callback for most recent score 2005-01-22 19:49:19 +00:00
ehouse
6abaa53d86 new constant so clients can extend set of warnings 2005-01-20 02:37:13 +00:00
ehouse
bc771cf3a1 default impl of getShortName 2005-01-13 14:36:42 +00:00
ehouse
70266c075d don't call board_draw except in response to Draw() on Symbian 2005-01-13 02:52:45 +00:00
ehouse
538113220f add missing gameID param 2005-01-13 01:43:02 +00:00
ehouse
0bc0c53823 make params const 2005-01-09 21:33:48 +00:00
ehouse
f0d5b0b251 allow caller to assign COMMONDIR for cases where caller isn't where
expected.
2005-01-07 11:09:09 +00:00
ehouse
dd019b576e remove unused constant 2005-01-04 04:07:38 +00:00
ehouse
a55d4c4435 add casts for symbian compiler 2005-01-04 04:06:37 +00:00
ehouse
c5e534680f formatting 2005-01-04 04:05:02 +00:00
ehouse
8b44ad1324 start cursor near middle of board 2005-01-04 03:23:12 +00:00
ehouse
bbd8d917bc up/down arrow keys move divider 2005-01-04 03:11:56 +00:00
ehouse
b77d8b8fbb use dict_getShortName 2004-12-18 01:06:47 +00:00
ehouse
718eb3f600 add dict_getShortName 2004-12-18 01:05:20 +00:00
ehouse
3394e20e9b add dict_getShortName, casts for symbian 2004-12-18 01:04:57 +00:00
ehouse
cd4f97bd15 remove too-frequent logging 2004-12-17 15:17:20 +00:00
ehouse
aa6e46d05f always set nTilesMax so works when XWFEATURE_SEARCHLIMIT not defined 2004-12-11 04:16:48 +00:00
ehouse
ebec5b9b17 remove hint-drag logging (no change to non-debug code) 2004-11-14 16:29:13 +00:00
ehouse
47f81507af add HintAtts param to draw_drawBoardArrow 2004-11-14 16:06:30 +00:00
ehouse
fbc2f86187 Don't use Palm APIs in common code! 2004-11-09 02:03:28 +00:00
ehouse
47b4de73e7 add board_formatRemainingTiles 2004-11-06 02:54:25 +00:00
ehouse
7a84f7f425 add param to model_countAllTrayTiles 2004-11-06 02:50:01 +00:00
ehouse
a4938db8fe server_formatRemainingTiles and server_formatDictCounts 2004-11-06 02:46:08 +00:00
ehouse
0f557c3e73 nuke tmpModel earlier 2004-11-05 14:29:17 +00:00
ehouse
90920a51ca add comment 2004-11-02 06:27:47 +00:00
ehouse
3046815907 another move-summary bug 2004-10-31 00:54:21 +00:00
ehouse
2866ccfc95 fix bug summarizing score for one-tile moves; remove return from
middle of function.
2004-10-31 00:53:26 +00:00
ehouse
03eeac1d30 fix bug with printing last move score. Undo on the tmp model wasn't
working and so tiles added later got included.
2004-10-30 18:22:39 +00:00
ehouse
7afe70569c fix linux build: add missing param 2004-10-30 16:59:07 +00:00
ehouse
68b5a6371f cleanup 2004-10-30 16:55:59 +00:00
ehouse
e89b7da54a add gi_countHumans 2004-10-30 04:50:33 +00:00
ehouse
ec19669d4f always include slots that are only used in conditional builds to
simplify converting between saved versions.
2004-10-08 23:57:24 +00:00
ehouse
71142255d6 deal with older stream version 2004-10-08 23:54:57 +00:00
ehouse
fd75f3324e Pass number of blanks to util_engineStarting 2004-10-07 13:51:03 +00:00
ehouse
698c71fc06 add option when memory's available for dict to store all of its data
in a single FtrPtr so that lookup can be faster.  Still need to
confirm that there's a noticable speedup this way....
2004-10-07 13:23:20 +00:00
ehouse
b7dd4fd50c bug: hide arrow when it can't be moved in case where tile comes via keyboard 2004-10-05 02:32:58 +00:00
ehouse
f13c0a3473 fix arm<->68K save/open problem by not relying on sizeof and saving
each field explicitly (as I already do everywhere else.)
2004-10-02 03:47:24 +00:00
ehouse
96a241c7d3 reject message with wrong connID 2004-10-01 01:25:55 +00:00
ehouse
5eea4644e2 first player robot again by default 2004-09-30 13:51:29 +00:00
ehouse
80cc53eb11 fix endienness problem for game id 2004-09-30 13:43:07 +00:00
ehouse
c73525aed8 pad struct to 4 bytes so ARM and 68K size are the same 2004-09-29 13:17:15 +00:00
ehouse
77f543e863 fix for 4-byte nodes on ARM 2004-09-28 01:03:48 +00:00
ehouse
38a4170fe0 cleanup; fix for 4-byte nodes on ARM 2004-09-28 01:03:07 +00:00
ehouse
7f38e98a0b fix cast 2004-09-24 01:37:30 +00:00
ehouse
650ccbf0ca no robots for a while 2004-09-24 01:35:54 +00:00
ehouse
27dc6ce932 add pno-related obj dir 2004-09-19 03:32:43 +00:00
ehouse
8a4b9eed3a remove dead code 2004-07-20 15:13:54 +00:00
ehouse
b8af3a6e79 remove masking that was breaking blanks in Polish and I THINK was
redundant.  Add assert to make sure.
2004-07-20 15:08:45 +00:00
ehouse
6e53150418 always hide arrow when undoing partial move, not just when done from
tray.
2004-07-10 22:57:17 +00:00
ehouse
665ff7b4c4 make < 80 columns 2004-07-10 22:56:20 +00:00
ehouse
bb291f1e75 Hide cursor arrow when pen in empty tray region returns tiles to tray. 2004-07-10 22:40:50 +00:00
ehouse
e320ae9617 output the right string 2004-07-10 14:17:07 +00:00
ehouse
d9efe4258b cleanup for no hintlimit feature case 2004-06-27 04:35:42 +00:00
ehouse
9e1391af32 missed name change 2004-06-25 07:09:08 +00:00
ehouse
8e8e6896c1 framework for smarter inval of hint rect during drag 2004-06-25 06:56:58 +00:00
ehouse
4e6b8f4c76 engine is now responsile for asking for and tracking how many tiles in
the tray should be used in hints.
2004-06-25 06:51:24 +00:00
ehouse
c6c6d38dfc engine is now responsile for asking for and tracking how many tiles in
the tray should be used in hints.  Moved responsibility here from
platform because platform doesn't know when a turn ends, and end of a
turn (engine reset) is the right place to reset the values.
2004-06-25 06:49:49 +00:00
ehouse
f900988bcc pass to engine boolean telling it whether to ask for tray hint limits;
address, for penDown only, confusion between whether pen events are
handled and whether the handling means a redraw is required.  Might
need to do same for penMoved and penUp.
2004-06-25 06:47:35 +00:00
ehouse
ca490374e5 add util_getTraySearchLimits 2004-06-25 06:39:24 +00:00
ehouse
338bda1e5b name change 2004-06-25 06:27:48 +00:00
ehouse
18023ecab3 remove unused variable 2004-06-24 05:19:52 +00:00
ehouse
173eba64e3 version now part of stream 2004-06-24 05:19:31 +00:00
ehouse
6e5067c01d version now part of stream; fix VERSION defines 2004-06-24 05:18:46 +00:00
ehouse
6c14b290eb preserve hint limits 2004-06-24 05:17:59 +00:00
ehouse
fe681ddf86 move some actions to penUp from penDown 2004-06-23 03:33:06 +00:00
ehouse
63c860d31e nuke unused param 2004-06-23 03:30:12 +00:00
ehouse
59ac0e42ef up stream version to include hintrect boolean 2004-06-22 06:29:19 +00:00
ehouse
debca15ba5 scroll as part of hint rect drag 2004-06-22 06:28:22 +00:00
ehouse
dce8eb2ea5 remove dead code and bogus assert 2004-06-18 13:52:12 +00:00
ehouse
2a9d5b7832 polish hintrect stuff; fix inval, etc 2004-06-18 13:25:57 +00:00
ehouse
ee184e2cf1 add allowHintRect 2004-06-18 13:16:40 +00:00
ehouse
e3f57eed44 make hint rect per-player; hide when tray not visible; make upward
drag remove it.
2004-06-16 04:06:02 +00:00
ehouse
7914876294 Change engine to, when given a rect that's a subset of the board,
constrain the search for moves to those that involve filling only
tiles within the rect -- while still using the rest of the board as
context for the moves.  Robot moves use the whole board.
2004-06-15 01:58:09 +00:00
ehouse
da4fe889f1 Track drag on board to form a rect whose borders are drawn via
attributes on cells; pass that rect to engine when hint requested.
Still rough, and needs to be made per-user.  Also needs a way to hide
the rect.
2004-06-15 01:56:01 +00:00
ehouse
30dd160ecc fix infinite loop looking for last not-undone move to highlight. 2004-05-15 16:06:35 +00:00
ehouse
7437e6089a move undoing-assign warning here 2004-05-15 16:05:14 +00:00
ehouse
4be6c13803 formatting change only 2004-05-14 09:04:49 +00:00
ehouse
b07b947c44 Allow deletion of picked tiles during face-up picking. 2004-05-14 08:57:38 +00:00
ehouse
bc00a04873 fix infinite loop when attempting to undo tile assignment. The ideal
fix would allow the undo, but this is much less risky.
2004-05-14 08:55:13 +00:00
ehouse
a4058cf07e improve what's in scoreboard last-move summary 2004-05-06 04:13:35 +00:00
ehouse
0db24688b3 mods to track just the main word when scoring a turn 2004-04-30 08:32:11 +00:00
ehouse
6f8c09ed54 mods to figure out score of player's most recent move 2004-04-30 08:29:49 +00:00
ehouse
9e8184d444 new functions to figure out score of player's most recent move 2004-04-30 08:29:22 +00:00
ehouse
4fdf6fe60a new param to figureMoveScore 2004-04-30 08:27:24 +00:00
ehouse
b4b3681cd3 show last turn in addition to player name when pen held on score; fix
revealing tray to show REVERSED when done for robot.
2004-04-30 08:26:54 +00:00
ehouse
d25c553ece assert non-null objects when making board 2004-04-03 16:42:20 +00:00
ehouse
508d98d8e0 make rectContainsPt params signed to avoid errors on palm 2004-03-02 05:58:15 +00:00
ehouse
d48ae1a216 draw_trayBegin returns bool 2004-03-02 03:26:10 +00:00
ehouse
6a9228bb43 fix arrow movement when board flipped 2004-03-01 02:30:45 +00:00
ehouse
ae9edbb08d After an undo, set the prev_move bits on the move now on top of the
stack so the tiles will get highlighted.
2004-02-29 06:59:37 +00:00
ehouse
be219aaf81 get rid of tabs/fix formatting. No code changes. 2004-02-29 01:08:50 +00:00
ehouse
2024a069ac add summary when no tiles played too 2004-02-27 06:19:31 +00:00
ehouse
791d371b90 guard server_do against reentrance 2004-02-18 04:28:32 +00:00
ehouse
0244afcde6 make util_userQuery return bool 2004-02-17 04:00:12 +00:00
ehouse
da2a895b3c hit-test in divider using bigger rect 2004-02-13 04:47:22 +00:00
ehouse
e3149b0e42 abort draw quickly if platform can't 2004-02-13 04:46:50 +00:00
ehouse
6940f21009 change return type of draw_boardBegin 2004-02-13 04:45:19 +00:00
ehouse
cbc449d81f add invalTilesUnderRect 2004-02-12 04:20:11 +00:00
ehouse
05f3232d0a export functions 2004-02-12 04:19:27 +00:00
ehouse
6dade8d97f inval tray when miniwindow disappears 2004-02-12 04:18:38 +00:00
ehouse
6bc3be9711 fix reported bug: when tile placed on arrow and arrow can't move
further, hide the arrow so tile can be drawn.
2004-02-10 05:23:32 +00:00
ehouse
68e2975472 fix compiler warning 2004-01-29 05:07:10 +00:00
ehouse
c1cde174db Add test to allow dragging a selected tile. 2004-01-25 14:30:29 +00:00
ehouse
997f0884cc new macros for new dawg node format 2003-12-14 16:59:58 +00:00
ehouse
348ae6194d boolean for nodeSize should make for faster tests 2003-12-14 16:21:01 +00:00
ehouse
a4f9a4075a [re]define masks for different format dawgs 2003-12-14 16:20:21 +00:00
ehouse
9cebba4153 remove turn-on-option part of picking tiles into tray. If you enable
it for a game you're stuck with it.  Less complex UI is better.
2003-12-13 18:40:17 +00:00
ehouse
e5801bd6f6 fix compiler warning 2003-12-13 18:37:43 +00:00
ehouse
ca9eeed95b Swedish dict has 0-count tiles that are available only for blanks.
Don't print these with counts/values.
2003-12-13 06:39:35 +00:00
ehouse
6064061811 OFFSET_OF 2003-12-11 06:03:37 +00:00
ehouse
5a3a353bbf add flags for NODE_CAN_4 form of dawg 2003-12-10 05:55:11 +00:00
ehouse
0ac0e9c237 pull tiles from right side of tray first 2003-12-01 14:28:50 +00:00
ehouse
e82ae5b9a1 name change 2003-11-30 20:08:09 +00:00
ehouse
00a3f65262 new wince directories 2003-11-30 20:07:25 +00:00
ehouse
6e9e668035 fix compiler warning 2003-11-30 19:11:12 +00:00
ehouse
2ffa052d61 pass current tray into util_userPickTile 2003-11-30 18:54:08 +00:00
ehouse
f69eb698b3 pass current tray into util_userPickTile, removing to-be-traded tiles
first.
2003-11-30 18:53:51 +00:00
ehouse
21456efa8b formatting only 2003-11-30 18:51:05 +00:00
ehouse
6bb65a94a8 change variable names around tile picking; pass stream version into
reader
2003-11-30 18:50:41 +00:00
ehouse
1072bf2499 add option to limit number of tiles used by robot 2003-11-30 09:34:40 +00:00