ehouse
382848f556
Fix to work with draw API changes
2006-11-12 15:22:26 +00:00
ehouse
a37fab39e8
new UNUSED macro for keynav
2006-11-12 15:20:36 +00:00
ehouse
eb32609a1d
Fix to compile and work with draw API changes
2006-11-12 14:51:47 +00:00
ehouse
d3812271a2
Add to draw APIs of individual elements (e.g. board cells) whether
...
they're focussed so that they can draw that during rather than after
everything else. On palm, use this to draw focus using the system
selected color rather than with the blue nav rect. Since a new param
was too much, add new enum type CellFlags and pass as bitvector to
draw APIs.
2006-11-12 14:36:15 +00:00
ehouse
b174b89bda
fix compile error when FIVEWAY not on.
2006-11-12 14:29:35 +00:00
ehouse
86e2a2d26a
fix crash when FIVEWAY not on.
2006-11-12 14:28:43 +00:00
ehouse
f0d3148a49
Force file logging on to report an assertion failure.
2006-11-11 22:53:30 +00:00
ehouse
74b6d76182
Fix messages getting dropped when remote device isn't connected by, on
...
getting a new connection, making a callback that calls resend_all().
This means a lot of duplication, but duplication is free with
bluetooth. The underlying problem is that packets are reported as
sent not when acked by the other side, but when passed to a lower
level that may not be connected at all.
2006-11-11 22:52:39 +00:00
ehouse
b39d0ad600
Add missing question to phonies warning message.
2006-11-11 22:45:13 +00:00
ehouse
2945a120f9
resend_all when a socket connects. This is the strategy needed with
...
Palm where apps quit and reopen connections many times during a game.
2006-11-11 22:44:31 +00:00
ehouse
9f0db2d9c5
add -lmcheck, which purports to catch memory errors
2006-11-11 22:42:40 +00:00
ehouse
130c0f5a92
Refactor to not return from middle of function. No behavior change.
2006-11-11 22:38:20 +00:00
ehouse
e2f3a55611
reject initial messages coming in on the same address a second time.
...
Fixes problem that surfaces when clients are more agressive about
resending early in game.
2006-11-11 22:37:36 +00:00
ehouse
1838640823
Fix bug where sign extention on 16-bit processors caused too many bits
...
set in crosschecks.
2006-11-10 08:08:59 +00:00
ehouse
b171900dfb
When moving focus through tray, skip empty space; when through board,
...
skip cells with tiles permanently played. Space char raises focus but does
not move it laterally.
2006-11-09 06:05:40 +00:00
ehouse
1f5ec02172
If no arrow visible, use cursor loc as destination when moving tile to tray.
2006-11-08 13:44:34 +00:00
ehouse
708e270b2a
add palm_util_notifyFocusChange to handle focus transitions away from
...
xplat code
2006-11-08 05:06:51 +00:00
ehouse
e8b74e1cc3
set focus to board if not held prior to passing keys
2006-11-08 05:05:11 +00:00
ehouse
414580904f
board doesn't handle focus-related keys unless it has the focus.
2006-11-08 05:04:44 +00:00
ehouse
dd5fa134a5
function turning object id constants to strings for logging
2006-11-08 05:04:13 +00:00
ehouse
2e9afb1ff2
remove typo blocking compilation
2006-11-07 13:43:30 +00:00
ehouse
2aa9664884
When internal focus reaches edge of object, move it back up and onto
...
the next object using a callback to the platform to determine what, if
any, object is next. Adjust curses platform to cooperate. Works
well. Palm is next.
2006-11-07 05:46:44 +00:00
ehouse
44eaa36319
More progress on one-handed navigation: fix ncurses board clipped to
...
bottom of tray; add focus-related params to draw*Finished routines
(and simplify to one) so platforms don't have to save from Begin
routines (and stop palm doing that); check version of saved game, and
handle case where older binary tries to open newer version; redraw
Palm tray buttons after focus change to stop focus-rect ghosting; fix
annoying overlap in saved games dialog; palm version goes to a3.
2006-11-05 16:54:18 +00:00
ehouse
3153e2b867
Lots of progress on one-handed navigation: add gadgets to stand in for board
...
scoreboard and tray on palm; make center drill into the focussed object and
spacebar come back up then move the focus among them. Integrate with other
focussable objects on main form. Go from separate drawCursor routines to
same for all three, with cursor only visible when focus is drilled down.
On curses, add a hilite rect routine that can be called after text is laid
down, and use for cursors.
2006-11-03 06:23:54 +00:00
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
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
ehouse
f271aee094
add commented-out code to draw juggle icon instead of "J" button. It's too much work to get it looking good before ship.
2006-06-16 01:30:20 +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
a4cabd9cf7
Allow no space for REM text when no tiles left to allow more room for scores.
2006-06-16 01:15:44 +00:00
ehouse
b8a8c1c175
Fix juggle so it works for 3 players too.
2006-06-15 13:05:56 +00:00
ehouse
77793e31b8
Run server after gameinfo dialog dismissed in case a player's become a robot.
2006-06-15 12:39:54 +00:00
ehouse
a4ac6f9ff4
call server_do after gameinfo dialog returns in case a player has
...
become a robot.
2006-06-14 06:22:21 +00:00
ehouse
133016bd1d
cleanup; fix compile of non-debug win32 version
2006-06-11 20:12:20 +00:00
ehouse
73c0cefb52
Add "Save current game as" to save file dialog; remove frequent-save hack.
2006-06-11 05:27:16 +00:00
ehouse
1af17b7672
Catch up with changes including three enabled states for control and
...
setting dialog strings. Align titles with columns for standalone version.
2006-06-10 16:15:31 +00:00
ehouse
0460136a90
You can always change passwd for local player.
2006-06-10 16:10:33 +00:00
ehouse
b80808bc57
Support new tri-part enabled type; add "game info" dialog/menu to test
...
read-only side; support new attributes for column head and nplayers
label; hide labels as well as controls that go with them.
2006-06-10 05:50:27 +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
1967a137ef
Tweak widget positions to fit juggle button on device
2006-06-08 02:03:33 +00:00
ehouse
16dd84b059
Fix to compile in STANDALONE mode, e.g. for current PPC.
2006-06-08 01:51:34 +00:00
ehouse
5fff2997d6
First cut at using new nwgamest common code to replace PPC-only logic
...
for updating fields of new game dialog as players are added, made
remote, robots enabled, etc. Removes a lot of code and fixes some
bugs in (non-yet-shipped) multi-device version. As a bonus, added "J"
button to juggle players. Seems to work well on Win32. Haven't
tested on PPC yet.
2006-06-08 01:35:20 +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
8c176ed53c
use common/nwgamest.c. Lots of code removed, and the dialog works now.
2006-06-07 01:28:37 +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
003f801314
up version number; add to list of dirs searched for .xwd files
2006-06-07 01:20:56 +00:00
ehouse
0fe04af4b4
Turned on leak-checking at shutdown for debug version, and fixed leaks and
...
crashes in destructors that had never been called before. Seems now to
free all allocated memory before exiting.
2006-05-30 05:12:02 +00:00
ehouse
2ba984775a
trivial optimization: add 1 only once
2006-05-30 04:34:35 +00:00
ehouse
d029d6600d
To show it and to prevent it's being cleared, write current password
...
into field in game info dialog.
2006-05-28 18:16:08 +00:00
ehouse
e26e149f4c
silence compiler warnings.
2006-05-28 16:16:46 +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
90dfc15ae9
use signed types to avoid overflow and disappearing scores
2006-05-28 16:02:16 +00:00
ehouse
d0c6e8517b
center letter in tile even when it's too big.
2006-05-28 15:04:57 +00:00
ehouse
e75ef1ca53
fix a couple of compile warnings
2006-05-28 14:53:02 +00:00
ehouse
8639c4e5cd
define CALLBACK to quiet warnings for CE build.
2006-05-28 00:42:34 +00:00
ehouse
b9f5925ceb
Move button size #defines into .rc file. They're scaled by the time C
...
code sees them and so shouldn't be relied on outside the .rc file.
2006-05-28 00:41:44 +00:00
ehouse
3db196156b
Calculate old window width correctly when figuring new width. Fixes
...
problem of buttons drawn too close to right edge.
2006-05-28 00:40:28 +00:00
ehouse
fde2ef1ee2
Before putting dialog into landscape mode, make sure it won't be wider
...
than the screen. That is, don't be fooled when in portrait mode by a
screen height that's SIP-reduced.
2006-05-27 22:52:10 +00:00
ehouse
054fd21981
Cleanup password dialog
2006-05-27 22:47:33 +00:00
ehouse
4a28deb1b1
Lots of little tweaks to dialogs to get them looking better and to
...
work better in landscape mode; got rid of multiple DEFPUSHBUTTONs.
2006-05-27 22:21:21 +00:00
ehouse
ecb7243714
Lots of little tweaks to dialogs to get them looking better and to
...
work better in landscape mode; got rid of multiple DEFPUSHBUTTONs.
2006-05-27 22:21:09 +00:00
ehouse
14eef0a4b8
Move buttons in landscape mode for color sel dialogs too.
2006-05-27 22:19:30 +00:00
ehouse
3e934624a4
modify API for "portraitizing" dialogs, and space the buttons evenly
...
rather than stacking all from bottom. This doesn't quit work on ce
since GetWindowInfo isn't available and IsWindowVisible does the wrong
thing.
2006-05-27 17:18:42 +00:00
ehouse
04e9dfb76a
strcat becomes strcpy: trivial optimization
2006-05-25 04:07:49 +00:00
ehouse
be930f344c
For dialogs in portrait-mode, move OK and Cancel buttons to the right
...
side and shrink up from the bottom
2006-05-25 03:41:32 +00:00
ehouse
340214d87d
remove trailing <cr> to sometimes eliminate scrollbar
2006-05-23 02:01:26 +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
113b9cea5f
n## Lines starting with '## ' will be removed from the log message.
...
change version string to include b8
2006-05-21 02:09:03 +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
d6ddeb0f87
update nHiddenRows so scrolling finally works
2006-05-20 06:22:33 +00:00
ehouse
27b740c03b
draw lines rather than bullets to indicate whose turn it is in vertical mode
2006-05-20 06:21:53 +00:00
ehouse
5df612c1cd
Change misleading function name; no code change.
2006-05-19 13:45: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
912d221b1c
Replace overlap param with nHidden to give more flexibility in
...
creating situations where board must be scrolled.
2006-05-17 06:10:24 +00:00
ehouse
fd5355b627
Include output of svnversion in Palm version's About dialog. For
...
Catalan and Spanish as well as English. There's also some character
conversion in the former two that may be linked to my local LANG
setting now being en_US.utf8. May need to revisit if there are
problems.
2006-05-15 04:24:30 +00:00
ehouse
5dca33c5ab
factor out updateScrollInfo so I can update scroller live once I get
...
super-small boards figured out.
2006-05-14 15:28:57 +00:00
ehouse
bb7e827703
for vertical scoreboards, force miniwindow to be entirely inside the board.
2006-05-14 15:27:29 +00:00
ehouse
e98ef5b962
move scrollbar into its own box so it doesn't force buttons to be over-tall
2006-05-14 15:26:21 +00:00
ehouse
afa496cb19
Incorporate svnversion output in About box; add CAB target
2006-05-14 15:22:48 +00:00
ehouse
94b46bc6c6
Incorporate svnversion output in usage()
2006-05-14 14:47:32 +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
3ea23396d2
add compile-command
2006-05-12 07:59:38 +00:00
ehouse
ba1aefcd49
make tray hide button toggle hidden state
2006-05-12 07:59:21 +00:00
ehouse
54e17e76b1
rewrite score formatting to put is-turn bullets above/below for
...
vertical scoreboard; reduce inter-line spacing and otherwise tweak
drawing.
2006-05-12 07:58:31 +00:00