Commit graph

279 commits

Author SHA1 Message Date
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