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