ehouse
936e3bd110
clean up command help
2005-10-15 16:28:26 +00:00
ehouse
ecf5875d7e
capitalize public methods on timermgr (no code change)
2005-10-15 15:49:22 +00:00
ehouse
eb8301ade7
return error to client when flags indicate old version; close sockets
...
when error occurs in processing message.
2005-10-14 08:29:58 +00:00
ehouse
6541e56c40
catch up with logf change
2005-10-14 08:27:16 +00:00
ehouse
b7e3479989
print prompt
2005-10-14 08:26:56 +00:00
ehouse
cb3e2910b9
add commented out debug flag
2005-10-14 08:26:19 +00:00
ehouse
8c8babc762
new error message
2005-10-14 08:25:51 +00:00
ehouse
e18f66f587
remove dead code
2005-10-06 02:54:05 +00:00
ehouse
07a1894c6e
implement heartbeat timer required for relay
2005-10-06 02:49:50 +00:00
ehouse
be5078e8f8
removed unused states etc.
2005-10-06 02:36:45 +00:00
ehouse
0bf1dcdcf8
remove connect info button, instead bring it up every time role
...
changes to one that needs it.
2005-10-06 02:34:07 +00:00
ehouse
f7443c9f7f
catch symbian up with api changes -- but still need to set timers
...
before it'll talk to relay.
2005-10-02 16:40:16 +00:00
ehouse
3bf3e2fda1
parse multiple config files in order with later ones overriding.
2005-10-02 16:23:49 +00:00
ehouse
4e5f69f4e8
rename states so can format to 80 cols; add log level param. No
...
change to functionality in this checkin.
2005-10-02 16:08:42 +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
77319b570d
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 and includes a hostname read in from
config file; relay assign non-servers' hostIDs.
2005-10-01 16:33:45 +00:00
ehouse
0c2365e3ea
parse new SERVERNAME config variable
2005-10-01 16:09:57 +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
50df4d7cf4
catch up with API change
2005-10-01 15:53:56 +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
255656f009
works, but not yet used. And wants relay host identifier added in.
2005-09-19 04:34:51 +00:00
ehouse
57ccb08528
fix for when BEYOND_IR not defined
2005-09-17 19:49:53 +00:00
ehouse
7d9a78f996
comment out internal mutexes: shouldn't be needed now that only one
...
thread at a time is given access to a cref instance.
2005-09-14 05:15:27 +00:00
ehouse
f944b154fc
fix print_cookies to use iterator
2005-09-14 05:14:41 +00:00
ehouse
c4d212f78c
shorten names so table easier to fit in 80 cols
2005-09-14 05:14:04 +00:00
ehouse
ca755490c5
allow to run multiple games at once
2005-09-14 05:12:07 +00:00
ehouse
237deee542
just log some messages so user interaction not required.
2005-09-14 05:11:29 +00:00
ehouse
87d1c8f593
event name change
2005-09-09 03:15:06 +00:00
ehouse
5dace1cc7a
add enough timer support for heartbeat; fix redraw bug
2005-09-09 03:14:11 +00:00
ehouse
18fc5e2c14
add linuxFireTimer
2005-09-09 03:12:58 +00:00
ehouse
264f34d97d
move fireTimer to linux-common code
2005-09-09 03:12:24 +00:00
ehouse
368d2b82d6
add an extra slot as on other platforms
2005-09-09 03:06:27 +00:00
ehouse
763cd70632
add missing header. (Did gtk change?)
2005-09-09 02:57:14 +00:00
ehouse
23c436a75c
make network play on by default
2005-09-07 12:32:29 +00:00
ehouse
77a8df77ac
add strings for relay errors
2005-09-07 12:31:32 +00:00
ehouse
cf5906eacf
Add and handle disconnect message so a device can reuse its socket for
...
a new game.
2005-09-05 15:50:49 +00:00
ehouse
05878f11a4
Do nothing rather than assert when socket no longer found for write.
...
Not sure if this is a preventable error.
2005-09-05 15:50:28 +00:00
ehouse
235556240f
Don't close the underlying socket. Not sure yet when I should close a
...
socket that hasn't returned an error. Maybe that's the client's job.
2005-09-05 15:45:22 +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
5e4fd3368e
add role to newgame dialog
2005-09-05 05:31:11 +00:00
ehouse
47030320f4
move typedef
2005-09-04 20:55:07 +00:00
ehouse
8a2eae0887
log ip address of incoming connection in dotted-quad notation.
2005-09-04 20:54:09 +00:00
ehouse
89f1eca340
log tweak
2005-09-04 20:44:46 +00:00
ehouse
55988dcdd7
cut down on logging a bit
2005-09-04 20:43:53 +00:00
ehouse
6995d37ead
don't assert when unexpected event arrives; just log and drop
2005-09-04 20:43:23 +00:00
ehouse
aa1323a5a3
shorten log messages; make easier to process from perl
2005-09-04 20:38:23 +00:00
ehouse
ebcc30dd5f
send notice when a socket closes. This seems to be resulting in dups.
2005-09-04 20:37:42 +00:00
ehouse
0134c96962
fix deadlock by collecting crefs into local storage before starting to
...
act on them.
2005-09-04 20:36:53 +00:00
ehouse
7803fead80
use comms_setAddr rather than modifying const to set resolved address.
2005-09-04 20:34:52 +00:00
ehouse
75b8f5342a
add error messages
2005-09-04 20:34:16 +00:00
ehouse
6d0b23a8e8
TALL_FONTS (support for Danish tall letters) now on by default
2005-09-04 20:32:16 +00:00
ehouse
aa0a9ec158
add error message; don't assert (crash) when socket closes.
2005-09-04 20:31:34 +00:00
ehouse
6f8b33a05b
reset cookieID for a new game
2005-09-04 20:30:47 +00:00
ehouse
1f43831219
new error code
2005-09-04 14:35:13 +00:00
ehouse
1aed9882ef
new (commented-out) info message
2005-09-03 18:36:08 +00:00
ehouse
4882c92a07
generate XWRELAY_OTHERCONNECT message
2005-09-03 18:35:34 +00:00
ehouse
8072bc687c
add XWRELAY_OTHERCONNECT message
2005-09-03 18:32:12 +00:00
ehouse
59edec4955
handle OTHER_CONNECT message by resending any unACKed messages.
2005-09-03 18:31:32 +00:00
ehouse
e6e9646253
make all APIs private and add as friends the safe classes that will
...
access them. This should allow reduction in the locking within cref
instances since only one thread at a time will be permitted inside by
SafeCref.
2005-09-03 15:59:48 +00:00
ehouse
4479933657
add missing state transition
2005-09-03 15:41:59 +00:00
ehouse
a4033a44c3
when one device is disconnected for heartbeat, tell others it's going
...
away.
2005-09-03 15:41:17 +00:00
ehouse
ca8877a5de
for testing, add -H option to prevent client from sending heartbeat
...
messages to relay.
2005-09-03 15:39:15 +00:00
ehouse
abbd1a072f
handle other-disconnected error message
2005-09-03 15:37:49 +00:00
ehouse
9a2567252b
cleanup: get rid of unused states/actions and code to handle them.
2005-09-03 07:15:05 +00:00
ehouse
1114784217
Add strings for error codes for relay disconnect events.
2005-09-03 06:58:05 +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
c82fd2e4f2
Send disconnect events with error codes on heartbeat and connect timer
...
failures; change how state machine handles heartbeats: only put events
into the machine when there's a failure.
2005-09-03 06:55:08 +00:00
ehouse
b0cc6f458b
add disconnect event and error codes
2005-09-03 06:46:03 +00:00
ehouse
2ba0f451a7
fix failure to record bytes forwarded
2005-09-02 07:18:39 +00:00
ehouse
8f32f4f99a
loads of changes: get settings from config file; remove sockets and
...
kill crefs via state machine, and protect access to a cref so it can
die without another thread being in it; do timers via timeout to
poll() rather than interrupt (and integrate into state machine);
detect when all players are present and change state so new
connections on that cookie will get a new cref.
2005-09-02 06:56:34 +00:00
ehouse
5d22be174a
initial version
2005-09-02 06:40:34 +00:00
ehouse
9ac04243b5
first checked in. works.
2005-09-02 06:35:25 +00:00
ehouse
39fa5728ef
send XWRELAY_RECONNECT
2005-09-02 06:26:33 +00:00
ehouse
e3cadfbf79
catch up with API changes
2005-09-02 06:24:47 +00:00
ehouse
6ebce9ff5e
protect logging with mutex since happens from multiple threads now.
2005-08-21 14:54:49 +00:00
ehouse
a227dfd605
flesh out interaction with comms. Now able to play a complete game vs
...
linux version over GPRS.
2005-08-21 14:36:11 +00:00
ehouse
bef309be3f
add stream_setOnCloseProc
2005-08-21 14:33:38 +00:00
ehouse
c0bdfb54c9
constant name changed
2005-08-21 14:18:56 +00:00
ehouse
a236d6a972
tweak how timers stored
2005-08-21 14:07:29 +00:00
ehouse
13d9e7e8c8
timeout isn't an assertion failure
2005-08-21 14:07:12 +00:00
ehouse
f77a4854b6
use renamed constant
2005-08-21 14:05:29 +00:00
ehouse
e8a94b670a
rename constant
2005-08-21 14:04:32 +00:00
ehouse
abde767154
tweaks to logging and adding some message enums
2005-08-08 23:33:51 +00:00
ehouse
23739eee9b
reduce interrupt-time logging
2005-08-03 01:17:49 +00:00
ehouse
ae91d38e45
Clean up and fix timer code.
2005-08-03 01:14:49 +00:00
ehouse
91abdb3bcc
fix bug where client connecting before server would result in attempt
...
to forward packet to host not yet available. Drop such packets now.
2005-08-02 04:57:13 +00:00
ehouse
170ad8f419
make overly verbose logging conditional
2005-08-02 04:56:08 +00:00
ehouse
1b40b1956e
add const to match new signature
2005-07-30 02:44:42 +00:00
ehouse
dcb5783924
add vc60.pdb
2005-07-30 02:07:20 +00:00
ehouse
f6649e17f6
make some conn-related IDs conditional
2005-07-30 02:05:59 +00:00
ehouse
7d4700622e
add cesockwr.o
2005-07-30 02:04:29 +00:00
ehouse
294ce5f513
Add and use driver for communication over TCP. Driver uses two
...
threads, reader and writer, on a single socket. With this checkin a
connect request reaches the relay and a response comes back and is
passed to and recognized by the common code. A full game should now
work, but hasn't been tried. Nor is there any handling of socket
errors, retries, etc.
2005-07-30 02:02:49 +00:00
ehouse
aa27360761
tweak conn dialog
2005-07-30 01:51:24 +00:00
ehouse
9abf6f8970
add a const
2005-07-30 01:48:17 +00:00
ehouse
3ecc871515
begin work of allowing multi-device play over WiFi/Cellular: add
...
dialog to gather params, save 'em, and stub out send proc. Still need
to debug a bit, and add threads to send/receive packets.
2005-07-23 15:31:21 +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
d6fac2014e
add assertion on null string
2005-07-23 15:16:26 +00:00
ehouse
bc3515272c
Get rid of unused param
2005-07-14 02:54:47 +00:00
ehouse
84ec7e38f2
Get rid of WinCopyRect-based method of drawing letters and values in
...
tray tiles, since it seems not to work on all versions of PalmOS.
Simply drawing seems fine where tested; will try close clipping if
erasure happens elsewhere. Draw board-top stuff one pixel higher on
highres devices, and fix scoreboard being too narrow on high-res
devices.
2005-07-14 02:45:10 +00:00
ehouse
fc4fd3ea93
fix compile error
2005-07-13 12:35:38 +00:00
ehouse
3b12c4df87
syntax error
2005-07-09 15:36:39 +00:00
ehouse
8acfb31153
protect TIMER_HEARTBEAT for standalone platforms
2005-07-09 15:27:06 +00:00
ehouse
bf2e208d6f
catch up with API changes
2005-07-09 15:26:12 +00:00
ehouse
9f694f74d1
wrap line
2005-07-09 15:25:51 +00:00
ehouse
e1d3eeaf2a
don't use %c on ARM. Crashes due to my bad StrPrintF implementation.
2005-07-08 08:30:42 +00:00
ehouse
e537e29e87
new functions for measuring glyphs
2005-07-08 08:29:37 +00:00
ehouse
a16505727a
Moving glyph-measuring code to drawing; fix for highres case.
2005-07-08 03:14:43 +00:00
ehouse
d3249d93ae
Moving glyph-measuring code to drawing
2005-07-08 03:10:21 +00:00
ehouse
58728ae00d
remove glyph-measuring API just added (since it belongs in drawing,
...
not dict)
2005-07-08 03:08:16 +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
77374484f8
ditch words without vowels
2005-07-06 00:58:44 +00:00
ehouse
5b3e5fbf18
name change
2005-07-06 00:58:20 +00:00
ehouse
d639e9ca45
Honor cookieID passed in connect message, falling back to cookie only
...
when the ID isn't set, and using it rather than assigning a new one
even if the game can't be found.
2005-07-06 00:54:38 +00:00
ehouse
f062a1f8f6
cleanup
2005-07-06 00:53:19 +00:00
ehouse
1ae6c010c9
Make cookieID a 32-bit value instead of 16-bit
2005-07-05 23:02:15 +00:00
ehouse
db6f6c258d
move to using a formal table-driven state machine for each game (cref
...
object). While it makes things more complex at this point, it should
make it easier in the long run to add error handling, timeouts, etc.
2005-07-05 22:05:37 +00:00
ehouse
d5858f7a21
add include file
2005-07-05 21:57:00 +00:00
ehouse
370c2f82f2
fix leak
2005-07-05 21:52:24 +00:00
ehouse
c3f5fb4639
cancel old timer before setting a new one
2005-07-05 20:59:42 +00:00
ehouse
327fb7b001
eliminate unnecessary setHeartbeatTimer call
2005-07-05 20:57:37 +00:00
ehouse
7d388c3a2a
fix compile error!
2005-06-30 01:51:40 +00:00
ehouse
4f57cadd75
Refactor ce_dictionary_make so that it returns NULL rather than an
...
broken dict when the file's missing or corrupt. Casts to stop
warnings.
2005-06-30 01:48:07 +00:00
ehouse
39669d9680
change dialog title when it's called from new game menuitem
2005-06-30 01:44:56 +00:00
ehouse
8fb0b4685a
Refactor ce_dictionary_make so that it returns NULL rather than an
...
broken dict when the file's missing or corrupt.
2005-06-30 01:36:51 +00:00
ehouse
acd3bdf24b
copy null byte along with rest of string
2005-06-28 04:42:08 +00:00
ehouse
4701ee8c34
update copyright year in about box
2005-06-27 06:05:14 +00:00
ehouse
978d840df7
put back functions that never should have been removed.
2005-06-27 05:45:28 +00:00
ehouse
78aefbefea
fix description at user's suggestion
2005-06-27 05:23:14 +00:00
ehouse
c2fe26ec77
up version to b4 to match next tag
2005-06-27 04:01:51 +00:00
ehouse
6728862399
cast to stop warning on wince
2005-06-27 03:56:09 +00:00
ehouse
2871778cb7
remove logging
2005-06-25 05:44:30 +00:00
ehouse
e92234b324
cleanup: make module-local functions static
2005-06-25 05:43:56 +00:00
ehouse
8faf6a670c
add default compile command
2005-06-25 05:43:04 +00:00
ehouse
f6a6827c59
fix compile warnings
2005-06-23 14:12:09 +00:00
ehouse
2fbfeee378
util_setTimer changes
2005-06-23 14:09:20 +00:00
ehouse
3054637842
heartbeats: send to clients in connection response; note when
...
heartbeat and other messages arrive; and periodically reap sockets
that haven't been active in long enough.
2005-06-23 04:26:44 +00:00
ehouse
e6b5d2d0e4
version to 4.2x
2005-06-23 04:23:06 +00:00
ehouse
fa945f74aa
handle heartbeat timer and change to util_setTimer
2005-06-23 04:22:46 +00:00
ehouse
684697216d
fix timer not getting drawn on highres screens; handle heartbeat timer
...
and change to util_setTimer
2005-06-23 04:22:27 +00:00
ehouse
3ab25c843b
fix timer not getting drawn on highres screens
2005-06-23 04:21:35 +00:00
ehouse
5385c9f7dc
BEYOND_IR now the default
2005-06-23 04:20:46 +00:00