Commit graph

297 commits

Author SHA1 Message Date
ehouse
c4de8b5ba5 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
851946ffbc add ifdef for compile with some optional condition 2006-06-16 01:46:47 +00:00
ehouse
9259d5e91d move randIntArray to strutils, and use instead of similar code to juggle tiles in tray. 2006-06-16 01:19:11 +00:00
ehouse
cc4ebf2ad2 Fix juggle so it works for 3 players too. 2006-06-15 13:05:56 +00:00
ehouse
c956b0858a cleanup; fix compile of non-debug win32 version 2006-06-11 20:12:20 +00:00
ehouse
c56b7d0b94 You can always change passwd for local player. 2006-06-10 16:10:33 +00:00
ehouse
3b82ae9c13 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
8c8313a2ca Fix to compile in STANDALONE mode, e.g. for current PPC. 2006-06-08 01:51:34 +00:00
ehouse
cbe5ed2779 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
00291dc997 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
cd2d88fd5e make a param const 2006-06-07 01:26:55 +00:00
ehouse
db53197bdd add common/nwgamest.{c,h} to make new game dialog logic cross-platform 2006-06-07 01:26:04 +00:00
ehouse
995192ad56 trivial optimization: add 1 only once 2006-05-30 04:34:35 +00:00
ehouse
091dc33ae8 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
b6d30d9009 clear multiple tile selection when trade ends even if cancelled 2006-05-23 01:53:18 +00:00
ehouse
633d9eef55 Get rid of hard-coded tile number limit in server_formatRemainingTiles 2006-05-23 01:52:20 +00:00
ehouse
033a19e032 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
e8273bc9f0 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
2658da4563 Reset divider location on new game. 2006-05-19 13:31:18 +00:00
ehouse
cbd67a5e21 First attempt to set board bounds based on tray bottom if tray
overlaps board.
2006-05-17 06:12:40 +00:00
ehouse
e28e40a04c for vertical scoreboards, force miniwindow to be entirely inside the board. 2006-05-14 15:27:29 +00:00
ehouse
11322f0e4d 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
a774a73778 tweak score layout, and remove a U8 that was overflowing on win32 2006-05-10 13:42:44 +00:00
ehouse
14c973354b API change: board is responsible for figuring tile size and giving
extra pixels to divider.
2006-05-06 14:42:38 +00:00
ehouse
b0c4e9e91e Include name of dict so it can get printed. 2006-04-30 13:58:24 +00:00
ehouse
4e2b080be5 Add, and use, stream_putString. Saves 500 bytes on win32. 2006-04-25 13:31:15 +00:00
ehouse
0dbc2e6557 don't exclude BEYOND_IR-only fields 2006-04-07 03:08:23 +00:00
ehouse
13b7fa62aa 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
6866e09003 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
942979ddd0 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
8f72bf6b56 new directories to ignore 2006-02-18 14:08:04 +00:00
ehouse
9ff5259d4e 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
3f0353c681 makefile cleanup 2006-02-17 07:27:36 +00:00
ehouse
cf602d7905 make remDim 16-bit so doesn't overflow on large-screened devices 2006-02-14 04:53:45 +00:00
ehouse
44b8126f65 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
dcd31cd092 update email address in header comments: no code change 2006-01-08 01:25:02 +00:00
ehouse
7c6babc53f fix bug truncating tray display in history by adding size param to
formatTray()
2005-10-30 18:35:21 +00:00
ehouse
cb4672b8b9 fix unset var warning 2005-10-30 16:14:13 +00:00
ehouse
2b58da4cdf 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
93534b268a 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
dba2a915ad new constant 2005-10-01 15:52:16 +00:00
ehouse
ef58bf8faf stream version change 2005-10-01 15:51:54 +00:00
ehouse
fae618b082 comment on shuffling 2005-10-01 15:51:35 +00:00
ehouse
73170b1254 fix streaming so four devices can be in game. 2005-10-01 15:51:14 +00:00
ehouse
15bd397f96 send disconnect message to relay before starting a new game. 2005-09-05 15:33:51 +00:00
ehouse
50a55d1335 formatting 2005-09-05 15:32:40 +00:00
ehouse
b99675640a reset cookieID for a new game 2005-09-04 20:30:47 +00:00
ehouse
48495df7e5 handle OTHER_CONNECT message by resending any unACKed messages. 2005-09-03 18:31:32 +00:00
ehouse
49676995e7 handle other-disconnected error message 2005-09-03 15:37:49 +00:00
ehouse
460cda0390 Receive disconnect events and display message for error codes. 2005-09-03 06:57:01 +00:00
ehouse
b1ab4d8e27 Add range for relay errors. 2005-09-03 06:56:33 +00:00
ehouse
44996f14a7 send XWRELAY_RECONNECT 2005-09-02 06:26:33 +00:00
ehouse
eb0e79041e add stream_setOnCloseProc 2005-08-21 14:33:38 +00:00
ehouse
af6f1406d5 rename constant 2005-08-21 14:04:32 +00:00
ehouse
cd8d18bd76 add a const 2005-07-30 01:48:17 +00:00
ehouse
711e0cdc36 cleanup for wince compile 2005-07-23 15:28:15 +00:00
ehouse
30f1e9b6db add const 2005-07-23 15:21:23 +00:00
ehouse
0a8b5bb563 Get rid of unused param 2005-07-14 02:54:47 +00:00
ehouse
1bc8a981b3 protect TIMER_HEARTBEAT for standalone platforms 2005-07-09 15:27:06 +00:00
ehouse
bb974c39b1 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
56accaaad5 dict_tilesToString sig change 2005-07-08 03:02:31 +00:00
ehouse
3d067ccbbc (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
a26549afa9 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
9d4bc009c0 name change 2005-07-06 00:58:20 +00:00
ehouse
93b78bc3f6 Make cookieID a 32-bit value instead of 16-bit 2005-07-05 23:02:15 +00:00
ehouse
2d23ffddd3 eliminate unnecessary setHeartbeatTimer call 2005-07-05 20:57:37 +00:00
ehouse
d29698c1b0 put back functions that never should have been removed. 2005-06-27 05:45:28 +00:00
ehouse
74087bd5b7 cast to stop warning on wince 2005-06-27 03:56:09 +00:00
ehouse
2abb6fe77f cleanup: make module-local functions static 2005-06-25 05:43:56 +00:00
ehouse
82a0045cb3 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
657454aa6c catch franklin up with recent API changes 2005-06-16 05:12:28 +00:00
ehouse
bda6841a8f don't draw board before it's set up 2005-06-13 14:51:21 +00:00
ehouse
844cab6e5d make one formal param const 2005-05-29 19:31:09 +00:00
ehouse
3296642486 casts to stop compiler warnings 2005-05-29 19:29:33 +00:00
ehouse
11c732ef7a 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
85dbf98aca 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
e6c3278f0f add util_util_addrChange 2005-04-03 16:57:01 +00:00
ehouse
85f10cd2e7 add comms_getInitialAddr; protect against recursive sends 2005-04-03 02:49:04 +00:00
ehouse
1241c0fdfe add comms_getInitialAddr 2005-04-03 02:48:50 +00:00
ehouse
712ec202d2 create new comms object if needed for non-first game 2005-04-03 01:36:59 +00:00
ehouse
99f2804141 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
94df6e022c too much logging 2005-03-21 05:29:37 +00:00
ehouse
3ee16b6cd8 fix to build in standalone case 2005-03-20 19:43:00 +00:00
ehouse
356ede1a73 add XP_LD so symbian can long 32-bit vals 2005-03-20 19:41:30 +00:00
ehouse
d7e834f87e fix bad assert 2005-03-20 15:01:59 +00:00
ehouse
90fe785790 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
4d454a8fff 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
7d84a2654f added '-I relay/' 2005-03-19 21:47:18 +00:00
ehouse
040df7f128 listen port goes away; add separate union member for relay addressing 2005-03-19 21:46:51 +00:00
ehouse
9c3a8dc228 util_listenPortChange gone 2005-03-19 21:45:21 +00:00
ehouse
083104a49f nuke logging that was polluting ncurses screen 2005-03-19 21:44:35 +00:00
ehouse
2f8320cba8 add stringFromStreamHere() 2005-03-19 21:44:09 +00:00
ehouse
cb674f16ac 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
f15bae46d2 add assert 2005-03-15 15:13:52 +00:00
ehouse
5d9fb3e326 add model_recentPassCountOk 2005-03-15 03:31:52 +00:00
ehouse
670f5d8673 move playerNum into dsi so can be used in formatting score 2005-03-15 03:27:24 +00:00
ehouse
365a57c8fb save hostIDs as part of comms; add logging 2005-03-09 15:18:17 +00:00
ehouse
7f2819ae8e add util_addrChange 2005-03-09 15:14:10 +00:00
ehouse
40ac233a92 fix misspelling 2005-03-09 15:12:57 +00:00
ehouse
e00c438d18 fix conflict with type from Palm headers; fix for non-BEYOND_IR case. 2005-03-08 05:33:38 +00:00