Commit graph

1630 commits

Author SHA1 Message Date
ehouse
a292e33c03 catch up with recent API changes; fix bug in newgame dialog. 2006-09-15 07:39:57 +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
4e60a477e4 Names change only: it's actions, not events, that are postponed. 2006-09-14 01:57:40 +00:00
ehouse
6e143e0b87 Remove dead code 2006-09-14 01:48:22 +00:00
ehouse
3645481a53 New addr param to checkAndDeliver so address can be passed back to
comms; Add debug-only menus to toggle logging to file and memopad.
2006-09-14 01:46:41 +00:00
ehouse
07f21767fc New addr param to checkAndDeliver so address can be passed back to
comms.
2006-09-14 01:41:37 +00:00
ehouse
3866d898f4 Better handling of disconnect and reconnect; esp. slave will keep
trying to connect after losing contact with server.  With this
checkin, a game between palm and linux can be interrupted by either or
both and restarted, with either in either role.  Haven't tested
palm-on-palm yet.  App stop speed is much better now too.
2006-09-14 01:38:09 +00:00
ehouse
4b953e8891 Add debug-only menus to toggle logging to file and memopad 2006-09-14 01:34:22 +00:00
ehouse
7cf02f322e Don't typedef array; make array field of struct. 2006-09-14 01:31:13 +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
4479cf530d Get rid of separate accept thread, instead integrating listening
socket into main event loop (poll underneath).  Works for gtk; still
debugging ncurses.
2006-09-10 19:01:06 +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
7d1d4d23c4 tweaks to re/connect logic; process incoming data from main event loop
and enqueue more than one at a time; wipe existing queue when reinited.
2006-09-10 18:34:57 +00:00
ehouse
c27abcd486 Attempt to listen for connections on a separate thread so connected
game could disconnect and reconnect, but still need work on adding a
socket to the main thread's io queue from a different thread.
2006-09-08 07:23:19 +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
c4b0f350e1 Lots of changes aimed at allowing to quit and restart in the middle of
a BT game: track states so can shutdown cleanly; transition from
master to slave; mechanism to defer work from callbacks to the main
loop.  Can now quit and restart as guest against host on linux.  Have
not tested between two Treos.
2006-09-08 07:06:21 +00:00
ehouse
148e711e54 init address field with current bt_adddr 2006-09-08 07:02:16 +00:00
ehouse
96dd01cbe5 cleanup: add missing consts. 2006-09-08 06:43:59 +00:00
ehouse
22f4edfd89 add ability to log to non-Memo db (to be read off device). 2006-09-08 06:39:35 +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
5d043e349e add __FUNCTION__ to assert macro 2006-09-01 04:39:56 +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
9aa0e41eed hardcode psm (for now), and remove spd lookup stuff. Was needed to
connect to linux server which doesn't add spd records yet.
2006-08-29 13:23:00 +00:00
ehouse
f3eb95b891 Make linux client work as host. Currently accepts only one connection
and blocks in accept.  Need threads and a piconet.
2006-08-29 13:20:09 +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
fb87fd31d2 Start adding bt support to linux port. Required removing assumptions
that all connectivity was with relay and over streaming sockets (since
BT is using l2cap's datagram-style sockets.)  With this checkin, a full
robot-vs-robot game is possible with palm as host and linux as client.
Linux as host isn't started yet.
2006-08-26 21:15:20 +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
1e8966c6f7 Fix compile errors due to missing UNUSED macros 2006-08-17 01:31:49 +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
35261484a2 include svn version in name of generated .exe file. 2006-08-16 01:30:31 +00:00
ehouse
61959b394a patch from Peter Rovnak. For Slovak support, need to specify the tray
font by name in order to get one that has all the necessary faces.  Seems
to make no difference on US/English systems, but it works for him on a
localized device.
2006-08-16 01:29:21 +00:00
ehouse
0fed666438 script for averaging results of running 'time' multiple times. 2006-08-12 02:01:57 +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
a2840b42ac Change LANG to XWLANG to avoid conflict with ENV variable. 2006-08-11 01:44:08 +00:00
ehouse
e68771939e fix broken ce build: remove ifdefs. 2006-08-11 01:33:19 +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
b5164aa0c5 hide dict files -- playing with svn:ignore 2006-07-29 21:36:24 +00:00
ehouse
d493502714 tweak button location 2006-07-28 08:04:00 +00:00
ehouse
8903c2ad3f fix change between Local players/Total players when device role changes in newgame dlg 2006-07-28 08:03:33 +00:00
ehouse
e4493c2255 better compile-command in header 2006-07-28 07:53:18 +00:00
ehouse
6e88146396 turn on flip menu for PPC build too 2006-07-28 07:52:40 +00:00
ehouse
8c7624fe7d cleanup: remove overly verbose logging 2006-07-28 07:51:49 +00:00
ehouse
44a4dab13a Cleanup prior to adding Swedish to BYOD. 2006-07-22 16:05:45 +00:00
ehouse
5f8ba8a570 get symbian compiling. Untested. 2006-07-22 16:04:39 +00:00
ehouse
d43acd6b46 check for remaining memory being < 0, not just <=, since we allocate exactly as much as we need. Fixes failure due to being out of memory at same time as having finished parsing stdin. 2006-07-22 16:03:14 +00:00
ehouse
de0c62fb39 Compensate for OS' failure to deliver penup events by checking for
pendownness at critical points when an up event should have been
processed: when another pen down happens, when about to scroll, and
when events (menus and buttons) occur.  This seems to catch all the
lingering miniwindow problems. Add flip menuitem (win32 only for now).
2006-07-07 08:39:31 +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
4beb291f0d remove rc3 from version: ready to ship 2006-07-05 00:16:18 +00:00
ehouse
58bb0734b8 round up when determining top coord of letter in cell. Fixes "Q"
getting drawn higher than other ascii chars, and does not break even
taller chars in Danish or Portuguese.
2006-07-04 00:16:08 +00:00
ehouse
63a948cbd4 Exclude high-res bitmaps from lowres build 2006-07-03 23:45:18 +00:00
ehouse
a1fcd56d55 on low-res screens, don't expand timer's clip rect to avoid erasing cell border below. 2006-07-03 23:44:51 +00:00
ehouse
dfb8104eb8 ppm files no longer used. Remove. 2006-07-03 23:06:25 +00:00
ehouse
e76e23f7f5 Enlarge Preferences... button by one pixel 2006-07-03 22:34:36 +00:00
ehouse
8c86ba26d8 add more cases to messageToBuf. Effects debug build only. 2006-07-03 22:32:29 +00:00
ehouse
ef941e2c75 up version to rc3; make all elements of prefs dlg the same height so they
line up when moving between global and local sets.
2006-07-02 01:08:45 +00:00
ehouse
501e1f7a5f add messageToBuf (debug-only ); change newgame's J button to R (for
"rearrange"); tweak locations of various dialog widgets for better
layout.
2006-07-02 00:42:41 +00:00
ehouse
f8aea3b953 keep calling newg_juggle until there's a change. 2006-07-02 00:40:16 +00:00
ehouse
1c65ffaac2 fix showing of timer field when timer disabled when switching from global
to local prefs; use num-getter utils rather than convert to/from text.
2006-07-02 00:39:31 +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
4da329a482 Get rid of param removed from board_handlePenUp. 2006-07-01 14:22:09 +00:00
ehouse
e0072c9b87 UI compromise on juggle: force something to happen, so the user sees a
change, then juggle again so the outcome is random.  This works on Palm
because draws are not cached: if two players wind up not moving you still
see them move then move back.
2006-07-01 14:18:00 +00:00
ehouse
72bd18316d juggle until something changes. This is better than there sometimes being
no change, until I figure out how to force drawing as on Palm.
2006-07-01 14:14:48 +00:00
ehouse
3fe3e05548 default dict now gzipped (no real change) 2006-07-01 14:13:29 +00:00
ehouse
9a52d82e0d newg_juggle returns bool indicating whether anything changed 2006-06-29 03:38:25 +00:00
ehouse
5fb3705535 don't cast size to a char! 2006-06-28 14:11:46 +00:00
ehouse
de20e83bdb A couple of tweaks so it works on byod with sample wordlist. 2006-06-28 03:38:42 +00:00
ehouse
504f9641ea remove parameter following API change 2006-06-28 03:11:26 +00:00
ehouse
5ebbf3f4d0 Support for Portuguese based on info from user in Brazil 2006-06-28 03:08:22 +00:00
ehouse
968dcf2835 removed a param from board_handlePenUp 2006-06-27 06:31:36 +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
f2906db239 Up version string to rc2. 2006-06-24 01:22:47 +00:00
ehouse
a6d140581c Turn on BitBlt scrolling. 2006-06-24 01:22:10 +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
6870178490 implement vertical scrolling using BitBlt. It's faster and smoother, but
commented out for now since it may be better not to add so late in the cycle.
2006-06-22 04:59:18 +00:00
ehouse
a08dc22023 Use new xplatform newgame logic to replace palm's in newgame.c, and make other
changes (shifting util functions around) that follow from that.  Back
version number down to 4.1.5 since that'll be the next shipped from this
branch.  Add juggle button to newgame -- the whole point of this.
2006-06-22 04:57:46 +00:00
ehouse
037bce2196 Use new xplatform newgame logic to replace palm's in newgame.c, and make other
changes (shifting util functions around) that follow from that.  Back
version number down to 4.1.5 since that'll be the next shipped from this
branch.  Add juggle button to newgame -- the whole point of this.
2006-06-22 04:57:08 +00:00
ehouse
cdc74b668a turn off advanced networking by default for push to release 2006-06-22 04:52:33 +00:00
ehouse
e32a445788 remove overactive log message 2006-06-22 03:37:21 +00:00
ehouse
15df92fc65 add missing include file 2006-06-22 03:36:51 +00:00
ehouse
4d79c85e94 up version string to rc1; add DEBUG to makefile help. 2006-06-18 21:54:59 +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