ehouse
dfc2d679e0
Don't call comms_start while opening game. Caller may still consider
...
another game open.
2007-03-18 23:55:58 +00:00
ehouse
242e71f04a
What I meant to check in. Need to save first....
2007-03-18 23:38:53 +00:00
ehouse
a4fb5a6d5a
Always send BT reconnet message, even if there are messages to resend.
...
Fixes failure to reconnect when opening a saved BT game where the
other device is waiting and will need to resend.
2007-03-18 23:38:19 +00:00
ehouse
aad182c2e3
turn stringFromStream into macro to aid logging for leak detection. Debug builds only effected.
2007-03-18 23:31:51 +00:00
ehouse
fcb334375a
define XW_PSM in accord with palm guidelines. Doesn't seem to matter...
2007-03-17 15:33:16 +00:00
ehouse
a0919dcc54
Fix bug: scoreboard doesn't reflect connected state until some other
...
event causes update. Fix by calling turnChangeListener any time turn
changes, including on initial set.
2007-02-27 02:48:51 +00:00
ehouse
c0b515457b
Cleanup: compile warning and to make logging easier.
2007-02-08 15:17:23 +00:00
ehouse
a424d54445
Add a one-byte header to BT messages so one device can signal another
...
that a new game's begun without dropping the connection. On Palm,
remove connection-drop on new game. With this change starting a new
game takes imperciptible time, down from 30 seconds.
2007-02-08 02:53:10 +00:00
ehouse
ff82dd61c0
Fix linked-list bug in removeFromQueue.
2007-02-07 11:58:01 +00:00
ehouse
3028c9e598
deal with case where guest begins new game but connects to host that's
...
running the old game: the host may reply, but guest must not take that
as evidence of a connection having been established: don't remove sent
messages (this isn't an ACK), and don't assert later on.
2007-02-06 05:49:45 +00:00
ehouse
183f0f716f
enable juggle button after role change
2007-02-06 05:47:20 +00:00
ehouse
9a61f5c38b
Add assert; don't call comms if has been set to null (fixes device
...
reset); fix failure to install connCB (removes need to manually resend
messages when client starts up first.)
2007-02-04 17:13:01 +00:00
ehouse
7c8b7294cd
add const to a bunch of char* decls in APIs and variables; no code change
2007-02-03 17:54:20 +00:00
ehouse
3f111c5657
name change only: Connectedness becomes DeviceRole
2007-02-02 08:34:37 +00:00
ehouse
ad77b04766
When role changes from client, where only local players are shown, to
...
host or standalone where all are shown, change the number shown
appropriately. The goal is to make the experience natural,
particularly for the common case where the players aren't changing.
Give up once user manually changes number shown.
2007-02-02 08:15:07 +00:00
ehouse
f441b22e78
cleanup: only one return per function.
2007-02-02 08:11:14 +00:00
ehouse
f56b170b2a
cleanup. No change in generated code.
2007-01-27 15:07:02 +00:00
ehouse
1486c764fb
use varargs for LOG_RETURNF macro
2007-01-27 15:04:57 +00:00
ehouse
1890fcac6b
forward declaration stops compiler warning
2007-01-27 15:04:19 +00:00
ehouse
ebeefe457f
check and flip before hiliting cells. Fixes bug with feedback on hint
...
search on flipped board.
2007-01-23 04:09:26 +00:00
ehouse
a998e96de9
Tweak scroll-of-focussed-board inval code so we don't inval the whole
...
board, which looks crappy. Instead inval only what was previously a
border row, and pass a new param to draw_vertScrollBoard so the
platform can choose not to scroll cells that will just get overwritten
with different bits.
2007-01-21 22:59:29 +00:00
ehouse
15acf8c8bb
When scrolling a focussed board, inval everything. Otherwise border
...
cells scroll into the center drawn as border.
2007-01-21 18:05:25 +00:00
ehouse
6ed6fe4976
Change how flip works, keeping board data like invalFlags and limits
...
in sync with the board rather than the model and flipping coordinates
only in time to access the model or pass to engine. With that done,
drawing can skip any rows scrolled off-screen, and the board's
perimeter focus rect can be drawn and invalidated correctly on a
flipped, scrolled screen: zodiac, eventually.
2007-01-21 06:21:12 +00:00
ehouse
0a426b0876
Get rid of draw_eraseMiniWindow: just inval what's under it; make use
...
of CELL_ISCURSOR consistent: when focus not dived all elements have it
set (or only perimeter for board, settable at compile time); get rid
of draw_drawCursor since CELL_ISCURSOR is all that's needed;
2007-01-19 08:20:11 +00:00
ehouse
c01615e86b
reintroduce board_handleKey
2007-01-18 02:42:37 +00:00
ehouse
c02c3fec17
Set focusHasDived before invalidating so newly focussed object drawn correctly.
2007-01-16 02:42:58 +00:00
ehouse
1afe502436
Fix bugs in recent focus/key changes.
2007-01-12 03:37:30 +00:00
ehouse
f329966a8a
on keyDown, look at what keyUp will do and, if nothing, don't handle
...
the event. This lets focus transfer work as before there was keyDown.
2007-01-12 03:28:20 +00:00
ehouse
e6ba8c872c
fix crash when linux is bt server: if no addr provided it's not a duplicate.
2007-01-09 02:43:09 +00:00
ehouse
994ee5b254
remove dead code.
2007-01-09 02:38:22 +00:00
ehouse
fef8891e3c
fix problems created by key-nav changes: don't drop hardware scroll
...
keys, and redraw after key-repeat if either up or down handled.
2007-01-07 05:25:28 +00:00
ehouse
e0010901f1
add board_handleKeyRepeat, and call it from palm and gtk. This lets a
...
held nav key walk the cursor across the board.
2007-01-07 04:32:29 +00:00
ehouse
593980817f
Clean up for non-keyboard and non-keyboard-nav cases. Wince is the
...
latter: make it compile again.
2007-01-07 01:01:20 +00:00
ehouse
0303e56c43
Break key handling into keyUp and keyDown, and treat keyDown the same
...
as penDown. Idea is to be able to set timers to get bonus square
hints etc. without stylus. Works, but transitions are rough because
keyDown doesn't know whether keyUp will result in a focus change.
2007-01-06 17:32:08 +00:00
ehouse
02c225c413
Fix so IR-only multi-device build works again.
2007-01-06 16:46:45 +00:00
ehouse
5b34e786bc
bug fix: clear focusHasDived on pen event along with other focus state
2006-12-20 04:11:17 +00:00
ehouse
bb45f89a6f
Unfocus any board object whenever pen touches board
2006-11-27 01:13:48 +00:00
ehouse
afc302a29b
When alt key pressed cursor can move onto occupied squares it normally skips.
2006-11-22 13:49:14 +00:00
ehouse
06e6d4a903
Post-Slovak change, 7 bits required to save face and blank bit. Use 7, but expect the old 6 for previous version streams.
2006-11-19 06:40:56 +00:00
ehouse
7fe5718cc5
When "dived" focus reaches and crosses border of object, return as if
...
not handled. This causes the platform to handle the key event itself,
typically by moving the focus to the next top-level object.
2006-11-17 13:41:13 +00:00
ehouse
abca6a4092
Two big changes. Pass focus bit into all or and players when focus
...
not dived and tray or scoreboard focussed. This lets platform decide
to display top-level focus via mods to all elements. Second, when
moving focus to top level from dived, claim not to have handled the
key event (but return true if needs redraw). This allows platform to
handle shifting focus without requiring callback (which removed.)
2006-11-14 06:46:04 +00:00
ehouse
30897a709f
Debug-build macros to pass __LINE__ and __FILE__ for logging
2006-11-14 06:40:36 +00:00
ehouse
29c4cb7c10
Exit trade mode silently if user clicks 'D' when it's not his turn.
...
(Better than refusing because "not your turn".)
2006-11-13 02:01:54 +00:00
ehouse
bfd555c22f
bug: need to OR in inval value rather than replace.
2006-11-12 21:03:15 +00:00
ehouse
8125f8405b
Break scoreboard code out into a new module. board.o was getting too
...
big on palm.
2006-11-12 20:09:00 +00:00
ehouse
a37fab39e8
new UNUSED macro for keynav
2006-11-12 15:20:36 +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
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
414580904f
board doesn't handle focus-related keys unless it has the focus.
2006-11-08 05:04:44 +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
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
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
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
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
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
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
edd48174a3
Add more consts.
2006-09-24 15:28:15 +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
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
ehouse
77d7bc9fa7
add const
2005-07-23 15:21:23 +00:00
ehouse
bc3515272c
Get rid of unused param
2005-07-14 02:54:47 +00:00
ehouse
8acfb31153
protect TIMER_HEARTBEAT for standalone platforms
2005-07-09 15:27:06 +00:00
ehouse
f082c6ad2e
dict_tilesToString sig change; remove glyph-measuring API just added
...
(since it belongs in drawing, not dict)
2005-07-08 03:06:08 +00:00
ehouse
dc84bd22df
dict_tilesToString sig change
2005-07-08 03:02:31 +00:00
ehouse
9e76871306
(conditionally) modify dicts to support getting height of platform
...
glyphs, pass into drawing code so can be fetched and cached, and
implement for Palm. This is to allow drawing glyphs (like Danish's
A-with-circle) that are taller than normal without the visual padding
the rest can have. So far works for 68K/non-highres. Will not
compile for ARM yet.
2005-07-07 03:46:07 +00:00
ehouse
3b53363e16
Pass protocol version code with connect request, and return error if
...
it isn't what relay can handle. Report error to user.
2005-07-06 01:36:52 +00:00
ehouse
5b3e5fbf18
name change
2005-07-06 00:58:20 +00:00
ehouse
1ae6c010c9
Make cookieID a 32-bit value instead of 16-bit
2005-07-05 23:02:15 +00:00
ehouse
327fb7b001
eliminate unnecessary setHeartbeatTimer call
2005-07-05 20:57:37 +00:00
ehouse
978d840df7
put back functions that never should have been removed.
2005-06-27 05:45:28 +00:00
ehouse
6728862399
cast to stop warning on wince
2005-06-27 03:56:09 +00:00
ehouse
e92234b324
cleanup: make module-local functions static
2005-06-25 05:43:56 +00:00
ehouse
dfccb19667
convert util_setTimer to take procptr; remove timer call on board; add
...
heartbeat to comms that uses util_setTimer with new timer type.
2005-06-23 04:16:53 +00:00
ehouse
c57206f483
catch franklin up with recent API changes
2005-06-16 05:12:28 +00:00
ehouse
9d5ea796f3
don't draw board before it's set up
2005-06-13 14:51:21 +00:00
ehouse
06e28770d1
make one formal param const
2005-05-29 19:31:09 +00:00
ehouse
4095acc327
casts to stop compiler warnings
2005-05-29 19:29:33 +00:00
ehouse
31e1a46087
separate internalization of comms from call to connect to relay since
...
the first must finish before the caller will have a valid reference to
comms. call util_addrChange.
2005-04-03 17:00:59 +00:00
ehouse
0629dc5223
separate internalization of comms from call to connect to relay since
...
the first must finish before the caller will have a valid reference to
comms.
2005-04-03 16:58:36 +00:00
ehouse
de4af7c8ce
add util_util_addrChange
2005-04-03 16:57:01 +00:00
ehouse
ad6de22306
add comms_getInitialAddr; protect against recursive sends
2005-04-03 02:49:04 +00:00
ehouse
3d27d0d882
add comms_getInitialAddr
2005-04-03 02:48:50 +00:00
ehouse
39185fef17
create new comms object if needed for non-first game
2005-04-03 01:36:59 +00:00
ehouse
c9f60e758c
don't instantiate comms unless it'll be used. Internally it has no
...
idea it's not supposed to connect to relay otherwise.
2005-03-25 03:11:54 +00:00
ehouse
24690a2a10
too much logging
2005-03-21 05:29:37 +00:00
ehouse
290cb0b9da
fix to build in standalone case
2005-03-20 19:43:00 +00:00
ehouse
edceee12a8
add XP_LD so symbian can long 32-bit vals
2005-03-20 19:41:30 +00:00
ehouse
078ab48fa1
fix bad assert
2005-03-20 15:01:59 +00:00
ehouse
d6efb446d1
Wrapping protocol around standard comms stuff that talks to the relay.
...
Revert previous relay-related changes.
2005-03-19 22:01:38 +00:00
ehouse
19b0d88a69
remove gross connectRelay hack. There's now a wrapping protocol that
...
talks to the relay entirely inside comms.c.
2005-03-19 21:48:47 +00:00
ehouse
8eb4abac6f
added '-I relay/'
2005-03-19 21:47:18 +00:00
ehouse
fc6095255d
listen port goes away; add separate union member for relay addressing
2005-03-19 21:46:51 +00:00
ehouse
022fd1cb9d
util_listenPortChange gone
2005-03-19 21:45:21 +00:00
ehouse
272e66e635
nuke logging that was polluting ncurses screen
2005-03-19 21:44:35 +00:00
ehouse
af8602f63b
add stringFromStreamHere()
2005-03-19 21:44:09 +00:00
ehouse
dd8f2f92c5
fix problems with clients in networked games making a move after the
...
game should end: check number of passes and that all players still
have tiles before running robot.
2005-03-15 15:18:58 +00:00
ehouse
2e0ee693bc
add assert
2005-03-15 15:13:52 +00:00
ehouse
26cd5c2d88
add model_recentPassCountOk
2005-03-15 03:31:52 +00:00
ehouse
36bba4024b
move playerNum into dsi so can be used in formatting score
2005-03-15 03:27:24 +00:00
ehouse
219b6ce937
save hostIDs as part of comms; add logging
2005-03-09 15:18:17 +00:00
ehouse
f5c43f3dfc
add util_addrChange
2005-03-09 15:14:10 +00:00
ehouse
ef828a0bdf
fix misspelling
2005-03-09 15:12:57 +00:00
ehouse
0f9eb528d8
fix conflict with type from Palm headers; fix for non-BEYOND_IR case.
2005-03-08 05:33:38 +00:00
ehouse
cb3a3854e9
add support for relay for use by NAT'd/firewalled devices: cellphones.
...
Include cookie users will agree on on for relay rendevouz, and
sender/receiver IDs for when there are >2 devices in game. Supports
games between linux clients now, but needs a lot more work.
2005-03-06 17:56:34 +00:00
ehouse
71870695cc
HACK: server must ping relay or it can't be contacted
2005-03-06 17:51:18 +00:00
ehouse
2e9dd5f3ea
cleanup; add debugging info for state changes
2005-03-06 17:49:37 +00:00
ehouse
5894369301
when undoing for purpose of finding last move and there's no pool,
...
don't attempt to replace tiles.
2005-02-02 02:51:05 +00:00
ehouse
49e4c1f6e4
keep hostname as well as IP address in CommsAddrRec
2005-01-31 03:31:50 +00:00
ehouse
fa7dcd1217
EXTERN_C_START
2005-01-31 03:30:26 +00:00
ehouse
27b6f310b5
bug: comparison was dropping words with the same score as all those
...
already cached.
2005-01-25 04:39:55 +00:00
ehouse
66eeeae7d6
change trayCursorLoc to be a 3-bit number so stores smaller
2005-01-23 17:28:29 +00:00
ehouse
974bf14ec4
ex/internalize cursor locations
2005-01-23 17:26:38 +00:00
ehouse
333c795f3c
kill log statement
2005-01-23 08:20:13 +00:00
ehouse
67be3191c8
revert change to board_invalRect
2005-01-23 08:17:37 +00:00
ehouse
ee3d6381dd
board_invalRect params change
2005-01-23 06:14:07 +00:00
ehouse
3cc77cc8ce
remove dead param; fix inval and choice of inverted cells so recent
...
move is not shown when pending move is.
2005-01-23 06:00:27 +00:00
ehouse
90d700356d
remove dead param
2005-01-23 05:55:58 +00:00
ehouse
4d98925b91
provide callback for most recent score; return key on hidden tray
...
attempts to reveal; add focus obj to saved state.
2005-01-22 19:51:48 +00:00
ehouse
7482c07ba5
add callback for most recent score
2005-01-22 19:49:19 +00:00
ehouse
6abaa53d86
new constant so clients can extend set of warnings
2005-01-20 02:37:13 +00:00
ehouse
bc771cf3a1
default impl of getShortName
2005-01-13 14:36:42 +00:00
ehouse
70266c075d
don't call board_draw except in response to Draw() on Symbian
2005-01-13 02:52:45 +00:00
ehouse
538113220f
add missing gameID param
2005-01-13 01:43:02 +00:00
ehouse
0bc0c53823
make params const
2005-01-09 21:33:48 +00:00
ehouse
f0d5b0b251
allow caller to assign COMMONDIR for cases where caller isn't where
...
expected.
2005-01-07 11:09:09 +00:00
ehouse
dd019b576e
remove unused constant
2005-01-04 04:07:38 +00:00
ehouse
a55d4c4435
add casts for symbian compiler
2005-01-04 04:06:37 +00:00
ehouse
c5e534680f
formatting
2005-01-04 04:05:02 +00:00
ehouse
8b44ad1324
start cursor near middle of board
2005-01-04 03:23:12 +00:00
ehouse
bbd8d917bc
up/down arrow keys move divider
2005-01-04 03:11:56 +00:00
ehouse
b77d8b8fbb
use dict_getShortName
2004-12-18 01:06:47 +00:00
ehouse
718eb3f600
add dict_getShortName
2004-12-18 01:05:20 +00:00
ehouse
3394e20e9b
add dict_getShortName, casts for symbian
2004-12-18 01:04:57 +00:00
ehouse
cd4f97bd15
remove too-frequent logging
2004-12-17 15:17:20 +00:00
ehouse
aa6e46d05f
always set nTilesMax so works when XWFEATURE_SEARCHLIMIT not defined
2004-12-11 04:16:48 +00:00
ehouse
ebec5b9b17
remove hint-drag logging (no change to non-debug code)
2004-11-14 16:29:13 +00:00
ehouse
47f81507af
add HintAtts param to draw_drawBoardArrow
2004-11-14 16:06:30 +00:00
ehouse
fbc2f86187
Don't use Palm APIs in common code!
2004-11-09 02:03:28 +00:00