Commit graph

1744 commits

Author SHA1 Message Date
ehouse
57f2f4ba2a debug functions to turn enums and defines into loggable strings 2006-11-03 06:19:27 +00:00
ehouse
7c2e09cca5 Simple fnav resource for main form: a start 2006-10-30 00:28:46 +00:00
ehouse
935f87979e Use color rather than period to separate score from tiles left in
scoreboard.
2006-10-29 18:24:50 +00:00
ehouse
a5f71143c0 Fix crash on pre-fiveway palmos where FrmGetFocus always returns -1;
add new preference for whether small value nums are drawn in tiles in
tray.
2006-10-29 17:41:14 +00:00
ehouse
f1def437c3 Use new XP_TriEnable type; begin work to support bluetooth by tracking
connType and adding choice how to connect.  Bt connect dialog is
invoked, but the fields won't be populated.  Pass conn type into
socket constructor, assuming socket code doesn't change much to use BT
rather than TCP.
2006-10-28 14:56:04 +00:00
ehouse
a735cfab03 use new XP_TriEnable type 2006-10-28 14:49:49 +00:00
ehouse
b9cc093820 Many many changes improving newgame dialog by using a three-way rather
than two-way enabled state, but mostly about getting focus ring
working for five-way-equipped devices.  Add fnav resources to the two
dialogs with gadgets, and code so the gadgets are included in the
focus rotation.  The move to three-way means that disabled controls
can visible while excluded from the rotation.  There's cleanup and
polish to be done still, and five-way navigation doesn't work for the
main form yet. No changes to bluetooth at all.
2006-10-28 14:48:08 +00:00
ehouse
266355b7b2 New type XP_TriEnable meant to be used more than just for new games:
controls are hidden, disabled but visible, or enabled.
2006-10-28 13:21:32 +00:00
ehouse
2639c80c84 add uninited state so can reload dialog with no assumptions about platform
widget state.
2006-10-23 13:56:43 +00:00
ehouse
07e2717cc8 add a few consts decls where APIs changed; use XWFEATURE_RELAY rather
than BEYOND_IR
2006-10-22 19:44:30 +00:00
ehouse
da7a9dd562 When bt init fails, put up alert; check for failure after and don't
crash; erase bt status area even when no comms in order to erase after
turning bt off; in connect dlg, use a trigger rather than field and
button for host name.
2006-10-15 16:14:42 +00:00
ehouse
8c42b56c26 Cleanup logging macros and get rid of p_ignore. 2006-10-15 14:33:55 +00:00
ehouse
b73ac76775 Build with Bluetooth on; add alpha-only text to About dlg; show About
dlg on startup first time; fix null ptr deref bug.
2006-10-15 14:22:32 +00:00
ehouse
c695d8644c remove unused field 2006-10-15 14:20:14 +00:00
ehouse
d234fc637d make IR the default conn type on Palm, where it's been the only type
until now.
2006-10-15 14:09:17 +00:00
ehouse
04f99aa2c4 fix non-bt compile by ifdef-ing bt-only ui elements 2006-10-15 14:05:23 +00:00
ehouse
0506069f47 remove duplicate #definition 2006-10-15 13:54:31 +00:00
ehouse
cb2990b720 add const to a few formal param declarations 2006-10-15 13:53:17 +00:00
ehouse
9aa8faa1d1 Switch player count string for client in new game case. 2006-10-12 13:55:16 +00:00
ehouse
d123d6c352 Make self-restarting: fork child and wait (to deal with asserts). 2006-10-11 02:06:20 +00:00
ehouse
ed6cf517ea get rid of extra log statement 2006-10-11 02:02:53 +00:00
ehouse
8e4a9072e5 better message when relay disabled 2006-10-11 02:02:09 +00:00
ehouse
5f25ba9f57 remove BEYOND_IR, replacing with XWFEATURE_RELAY and
XWFEATURE_BLUETOOTH.  The goal is to be able to build to support
bluetooth only, or relay/ip only, e.g. for a palm bluetooth beta.
Seems to work.
2006-10-10 01:34:37 +00:00
ehouse
b8107cbd6e Add a bit more logging; do a better job of changing roles. Now can switch
roles with a new game and communication starts without a restart of the
app.
2006-10-07 03:40:29 +00:00
ehouse
f6c0ea92e0 Raise status char a bit. 2006-10-07 03:38:36 +00:00
ehouse
277624eb81 Don't return from middle of function. 2006-10-07 03:37:40 +00:00
ehouse
878acbc759 Fix opening games and messages saved by last shipping version on Palm
by checking version and loading new fields conditionally.  (Not yet
tested for current wince version.)
2006-10-05 01:17:03 +00:00
ehouse
715d01b8a4 Put relay-only fields into a struct for easier identification. No code change. 2006-10-02 14:26:56 +00:00
ehouse
9837d8cca7 Fix longstanding bug removing too few messages from queue on ACK.
Print queue as part of stats.
2006-09-27 01:54:53 +00:00
ehouse
ef97beaf2c Tweak enable/disable logic to show fields for remote players for the
informational case that are hidden for new game case -- e.g.  name,
which can be read but not set.
2006-09-24 21:10:17 +00:00
ehouse
0b0aef0908 Add quick hack to show BT connect state on main board, to be replace
by icons or something prettier later.  For new games dialog, replace
hard-coded list of controls to ignore with a runtime list.  This
allows checkboxes and fields to be enabled and disabled more easily.
Works around Palm's lack of a control state meaning "visible but
inactive" that works for all form elements.
2006-09-24 17:56:14 +00:00
ehouse
d6ef943a5f add linux_dict_getShortName 2006-09-24 15:35:33 +00:00
ehouse
6bae3385f4 fix compile warnings; disable board size combo when not new game. 2006-09-24 15:34:46 +00:00
ehouse
edd48174a3 Add more consts. 2006-09-24 15:28:15 +00:00
ehouse
d78f9dd720 Add debug menu and in response dump bt state to stream for display.
Track sends and receives.  Add listening state for master, and don't
reset its acl when slave goes away.
2006-09-23 22:58:33 +00:00
ehouse
415148e771 tweaks to compile both standalone and for relay use. Remember: Symbian
code hasn't been run in over a year.
2006-09-23 20:40:36 +00:00
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
95fe18c4c7 Don't use service records; don't reset connection state as part of
reset for new game; handle case where callback happens inside of
BtLibLinkDisconnect call.
2006-09-23 15:24:30 +00:00
ehouse
04c5401711 What I meant to check in. F***ing emacs. :-) 2006-09-23 15:22:26 +00:00
ehouse
57a636618c "IR" -> "Beaming" 2006-09-23 15:19:29 +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
d46723eb6a use gtk_combo_box instead of whatever and fix inability to set current
num players and role as dialog comes up.
2006-09-21 01:34:29 +00:00
ehouse
9137eff9fa Largely untested changes to allow BT in ncurses mode, centered around
integrating sockets into poll fdset; move relay and bt globals out of
a union so can test if in use without knowing current connection method.
2006-09-19 03:39:08 +00:00
ehouse
7b7b7006a7 clean scoreboard rects before drawing in case player's location has changed as new players added 2006-09-19 03:35:26 +00:00
ehouse
fd5117fa28 Tweaks toward a dual ARM/68K binary where only 68K supports bluetooth.
Don't try to not show the BT option for connecting, but in the case
where it's not actually supported say so in the dialog.
2006-09-18 04:40:27 +00:00
ehouse
db3a8fe6e4 Remove dependency on non-existant file: should not have been checked in. 2006-09-17 13:33:45 +00:00
ehouse
3b280f8c4d remove dead code using IR libs directly (no exchange mgr); rename
#define to be consistent with same for bluetooth.
2006-09-17 06:16:05 +00:00
ehouse
ecb8664e1b remove dead code using IR libs directly (no exchange mgr); rename
#define to be consistent with same for bluetooth.
2006-09-17 06:15:37 +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
d03ef80b3e What I mean to check in... 2006-09-17 05:04:32 +00:00
ehouse
65a82b1c3b Punt on problem of svn version in about box changing: comment in
makefile, and make it the last string.
2006-09-17 05:03:59 +00:00
ehouse
4bdef12c3e Prune excessive logging 2006-09-17 04:45:19 +00:00
ehouse
6cf4d50ee4 fix ARM build so DEBUG setting is passed to compiler, and code so it
compiles that way.
2006-09-16 22:09:28 +00:00
ehouse
31532c06ca pass debug -D options to .rcp files to to include debug menus 2006-09-16 16:08:33 +00:00
ehouse
0f271d707f revert change 1593: FEATURE_HIGHRES is no longer defined. This brings
highres icons back.
2006-09-16 15:53:14 +00:00
ehouse
ed1a7e6fc9 be a better master: don't try to send when not connected. 2006-09-16 15:21:27 +00:00
ehouse
72cd7c7ec7 tweak svnversion output so make stays happy 2006-09-15 07:52:45 +00:00
ehouse
40563a6790 strutils macro change; log PID on startup for easier attaching 2006-09-15 07:45:40 +00:00
ehouse
8f5bdf1163 strutils macro change 2006-09-15 07:43:21 +00:00
ehouse
63afad6482 strutils macro change; tweak so compiles non-DEBUG and without Bluetooth 2006-09-15 07:42:10 +00:00
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