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