ehouse
6c4b991566
Modify comms and games APIs so single struct of callbacks is passed
...
instead of multiple callbacks; add callback called when relay state
changes; adapt linux and palm clients to new API. (Wince changes
pending.)
2009-09-12 21:39:13 +00:00
ehouse
86b560c441
fix to compile on palm: accomodate old compiler and new dict struct
...
fields. Network play against relay works!
2009-09-12 15:35:03 +00:00
ehouse
f1e27d4945
Don't bother calculating gameID as common code does it.
2009-09-12 15:10:10 +00:00
ehouse
85f9ac8598
revert to iso_8859-2 until have time to figure out why utf-8 doesn't
...
convert correctly (though it does for Polish)
2009-09-12 15:05:26 +00:00
ehouse
f0737e1356
prevent label overlap
2009-09-12 04:23:53 +00:00
ehouse
d0127c503a
fix some allcaps; mark what needs tranlation.
2009-09-11 07:49:19 +00:00
ehouse
35449825bc
Add new error string; convert to utf-8.
2009-09-11 07:45:14 +00:00
ehouse
2f0ec7e583
fix some string display bugs by using utf8 when converting; handle
...
Resend Messages menuitem (with error when standalone); add string for
that new error.
2009-09-11 07:44:27 +00:00
ehouse
df9b7bea2b
More translations.
2009-09-11 07:05:31 +00:00
ehouse
448ea05443
Start adding logging to sockets code...
2009-09-07 18:23:49 +00:00
ehouse
03eeb93925
Prefs file is created HIDDEN; open it that way too.
2009-09-07 18:22:52 +00:00
ehouse
4e8d340304
Don't re-open conns dlg if in standalone mode
2009-09-07 16:55:54 +00:00
ehouse
13e50dd149
when only one conn mode available localized versions shouldn't show
...
choice either
2009-09-07 16:46:55 +00:00
ehouse
e8825e119c
add comment re: stream format non-change for utf-8
2009-09-05 13:14:42 +00:00
ehouse
615603b66b
Add define set to number of conn types compiled in; use it to compile
...
out conn type choice where there's only one (none to be made). Refuse
to dismiss conns dialog when cookie not chosen.
2009-09-05 13:08:46 +00:00
ehouse
8ddc8612a8
experimental CC def should not have been checked in
2009-09-05 13:00:35 +00:00
ehouse
044c38e02f
change formatting, variable name
2009-09-04 12:32:16 +00:00
ehouse
1c865eb2cc
static linking for recent cegcc; don't ask mingw windres to do utf8
2009-09-04 12:31:15 +00:00
ehouse
3a1c2572dd
Merge in unicode changes to read in utf-8 dictionary format
2009-09-04 12:30:10 +00:00
ehouse
c010a73098
copy over tall-narrow game info dialog layout from other .rc files
2009-09-04 12:18:46 +00:00
ehouse
7ca629a2f5
don't log socket closing as an error
2009-09-04 11:02:09 +00:00
ehouse
8acbe2c08f
Don't sort tiles in blank picker!
2009-09-01 13:59:45 +00:00
ehouse
f72a8a5904
updates from translator
2009-09-01 12:41:56 +00:00
ehouse
188eea4646
Try again if fail to connect to relay.
2009-08-30 15:25:13 +00:00
ehouse
6827ab5d88
Unify signal handlers that do same thing; clean memory leaks and a
...
double-dispose.
2009-08-30 15:23:05 +00:00
ehouse
dd666472a3
Fix compiler warning in non-debug case.
2009-08-30 15:20:18 +00:00
ehouse
95a70862be
Lock cref before calling method that assumes lock.
2009-08-30 15:18:40 +00:00
ehouse
2a569df97f
For privacy, don't show host IP unless connection is local.
2009-08-30 15:16:06 +00:00
ehouse
1d2bd69251
Some fixup, e.g. missing or duplicated IDs, left from merge.
2009-08-29 16:10:56 +00:00
ehouse
1c8147c21c
Tweak to support non-ascii utf-8 chars from dicts. Seems to display
...
Catalan and Polish fine (on board.)
2009-08-29 16:09:58 +00:00
ehouse
d86d2b556a
Tweak to support non-ascii utf-8 chars from dicts. Seems to display
...
Catalan and Polish fine (on board.)
2009-08-29 16:09:24 +00:00
ehouse
9ae95366eb
merge in changes from 2546 to current HEAD on wince_42_branch to catch up with localizability. Tested only on win32 so far, where can switch locales and play via relay
2009-08-29 13:37:37 +00:00
ehouse
6a36c045b6
fix wince compile error
2009-08-29 13:06:48 +00:00
ehouse
d29b048504
timeout games after five minutes no matter what
2009-08-23 15:35:47 +00:00
ehouse
b15665e041
serve http view from cached data and make cache refresh rate
...
configurable. Should make it harder to attack the relay on http port.
2009-08-21 12:32:57 +00:00
ehouse
537de614b9
remove timer assert; log socket errors
2009-08-21 12:15:40 +00:00
ehouse
dbf9daf71b
Fix problems reconnecting hosts where some but not all received the
...
ALLHERE message and connName: change relay protocol so cookie is
included in RECONNECT message, and hostIDs are not assigned until
ALLHERE, and change host-to-game matching to use connName first but
fall back to cookie. This fixes nearly all cases failing to reconnect
after relay goes down.
2009-08-21 12:00:09 +00:00
ehouse
f5f5df990e
Drive hosts launched from list of local roles in anticipation of
...
splitting tests between machines.
2009-08-21 03:31:34 +00:00
ehouse
493d3c226f
log when crash
2009-08-20 12:12:43 +00:00
ehouse
1264cacdc1
when one participant in a game crashes kill the rest so another can
...
begin.
2009-08-20 11:56:33 +00:00
ehouse
53133839a4
don't log list of sockets by default
2009-08-20 03:50:40 +00:00
ehouse
e96becb05f
variable name change only (for clarity)
2009-08-13 12:59:55 +00:00
ehouse
522bd8636d
include timestamp in "game finished ok" output
2009-07-31 13:04:37 +00:00
ehouse
e746e2bc5b
Fix assertion failures
2009-07-31 13:03:38 +00:00
ehouse
fbd3559e3b
Fix assertion failures
2009-07-31 13:03:05 +00:00
ehouse
47d6d53419
make log file location configurable; remember start time as used for
...
permenent IDs on spawn rather than overall boot to avoid duplicating
cids.
2009-07-31 13:02:05 +00:00
ehouse
7077a11af6
pass .css file
2009-07-31 12:58:47 +00:00
ehouse
acbf8180ef
add missing lock(); track and display uptime of daemon child as well as parent
2009-07-31 12:56:04 +00:00
ehouse
80ccdd6d04
spelling...
2009-07-31 12:47:58 +00:00
ehouse
f537169db5
Assign 0 not NULL to pthread variables.
2009-07-31 12:43:04 +00:00
ehouse
bcc887c0b1
Need to remove before inserting. Todo: is there a replace?
2009-07-31 12:39:47 +00:00
ehouse
503db9cc6f
up copyright
2009-07-30 12:54:17 +00:00
ehouse
f35f2fe696
add css file path
2009-07-30 12:52:05 +00:00
ehouse
ba97f096dc
make css file for http interface configurable; fix bug where
...
connections arriving too close together would wind up with different
crefs (using new mutex).
2009-07-30 12:49:21 +00:00
ehouse
631bf4b179
write to named file for use on ISP from cron
2009-07-30 12:46:40 +00:00
ehouse
2641ab6430
bug fix: mark after locking so will unlock in destructor
2009-07-30 12:39:45 +00:00
ehouse
7338a706cb
option to randomly kill xwords instances
2009-07-29 04:31:23 +00:00
ehouse
192fb50bf8
add SIGINT handler that calls quit (to save files). Listen for errors in poll.
2009-07-29 04:29:29 +00:00
ehouse
4a5d74a0af
rename state to take up less space in browser; add number of respawns
...
to status display.
2009-07-29 04:25:21 +00:00
ehouse
8be31357ad
track per-cref lifetime and display it via http
2009-07-28 05:41:15 +00:00
ehouse
9ab746d8ac
Include strerror output in a few socket-related error messages.
2009-07-28 05:17:44 +00:00
ehouse
8284799abe
Fix crashes resulting from deleting cref instances in one thread while
...
another wanted to operate on them. The root problem is that you can't
dispose of a mutex while somebody's blocking on it. So now the
locking mutexes live inside the cref class. When the lock owner
realizes the cref needs to die, it sets a flag and it's moved to a
recycled list. A thread blocking on the mutex will then get it, but
checks the flag and releases it immediately if it's being recycled.
(Also improve the http interface a bit.) With these changes I've run
31K (and counting) games against the relay without a crash or deadlock
(using sim_real.sh.) The main problem that remains is that sometimes
two games using the same cookie wind up with two crefs (and so never
connect.)
2009-07-28 05:15:26 +00:00
ehouse
0d03ed71bb
cleanup
2009-07-28 05:09:24 +00:00
ehouse
6b1cf247bf
Don't alloc storage for fds and log buffer each time through poll
...
loop; instead reuse and realloc when needs to grow.
2009-07-28 05:08:15 +00:00
ehouse
8c7c457a54
shorten state names so they take up less webpage space.
2009-07-28 05:06:25 +00:00
ehouse
62b7d3c3a4
Clean up gtk case and fix post-game log checking.
2009-07-28 05:02:09 +00:00
ehouse
3b62e04d07
don't use -lmcheck. It causes a lot of crashes in places where it
...
certainly looks as if nothing is wrong.
2009-07-28 05:00:18 +00:00
ehouse
dddd5e1dd8
clean up logging. I got some cores that suggest overflow. This fixes
...
that if indeed it was happening. Problems with sockets disappearing
while in poll may remain.
2009-07-16 04:43:33 +00:00
ehouse
19cff0f7c5
make all game ids (cookies) unique; fix success test
2009-07-16 04:36:30 +00:00
ehouse
0a0d4804dd
store keys and values as const char* instead of string since the
...
string code was involved in a lot of crashes.
2009-07-16 04:23:02 +00:00
ehouse
8a0d963c95
include abbreviated uptime in stat row
2009-07-16 02:56:25 +00:00
ehouse
c5e73fd725
Add to http display number of games currently being hosted.
2009-07-13 03:01:22 +00:00
ehouse
582eb88f9a
int->bool
2009-07-13 02:58:16 +00:00
ehouse
fed0458f2e
various improvements. Runs games forever now, though exit is clumsy.
2009-07-13 02:57:41 +00:00
ehouse
d7cd277893
Add option to close stdin on startup, which seems required to run
...
curses version from script. There's probably a better way...
2009-07-12 01:32:14 +00:00
ehouse
df293db349
script to run lots of games with events at more natural intervals against relay.
2009-07-12 01:18:09 +00:00
ehouse
4c523b628c
Make slow-robot work for curses client too.
2009-07-10 05:04:04 +00:00
ehouse
184a154c52
New feature, meant for testing relay, makes robot skip random number
...
of seconds within specified range before making a move. Working only
on gtk so far, and will probably never be used other than on linux
clients.
2009-07-09 12:43:51 +00:00
ehouse
854b3d9349
use synchronized method to add map entries
2009-07-06 02:02:59 +00:00
ehouse
2ef16d44ca
Include number of games played in html output; don't report closed
...
sockets found while reporting closed sockets (to avoid deadlock);
remove sockets from crefmgr's map when closing them so new connections
using same (re-used) socket aren't treated as belonging to open games.
2009-07-06 01:50:51 +00:00
ehouse
a680a6e5fe
Always close sockets we're done with. Otherwise they leak -- don't get reused.
2009-07-06 01:32:30 +00:00
ehouse
37dc9b7b88
running under valgrind I need to handle SIGPIPE.
2009-07-06 01:31:16 +00:00
ehouse
7893c2066a
get rid of gratuitous echo
2009-07-05 01:46:27 +00:00
ehouse
c0073183ba
improve relay test script to better run in a loop.
2009-07-03 14:55:20 +00:00
ehouse
f4db39f490
synchronize reads of std::map to fix crash due to memory corruption.
...
Apparently containers aren't thread-safe even for reads.
2009-07-03 14:54:21 +00:00
ehouse
a954286960
avoid mempool assertions by cleaning up on way out
2009-06-30 12:55:47 +00:00
ehouse
9b29e45ea4
plug valgrind-found leak; prefer localtime_r.
2009-06-29 12:58:30 +00:00
ehouse
c347bbd963
tweak new game dialog
2009-05-01 04:36:58 +00:00
ehouse
e19e8411cb
fix compilation error
2009-05-01 04:29:13 +00:00
ehouse
927c363edf
Move more (hopefully this is it) strings into resources; make sure all
...
three .rc files have all strings.
2009-04-30 04:25:17 +00:00
ehouse
ce09a83b12
script to check that .rc files have all expected ids defined
2009-04-30 04:20:30 +00:00
ehouse
ee2e1e1234
Move another string from code into resources.
2009-04-26 20:21:21 +00:00
ehouse
0c5088192d
remove logging
2009-04-26 20:20:14 +00:00
ehouse
e4977e2c5f
Add ability to scroll dialogs by dragging. Works only on
...
touchscreens, and has no sense of momentum.
2009-04-26 20:10:28 +00:00
ehouse
eb5ee8431b
check string ids back in rather than generating; move macro from .rc
...
file into new .h all can include; use XWCOMBO more; build shippable
files in new built directory within obj_*; don't tell windres that
french is english.
2009-04-24 05:36:31 +00:00
ehouse
6638b251e0
Give all labels real IDs so can be moved; flesh out locale picker
...
dialog; add macro to replace listbox/combo triplet; rename some ids.
2009-04-23 12:37:07 +00:00
ehouse
568c75ba9a
list dlls by name rather than pattern
2009-04-23 12:31:03 +00:00
ehouse
e573fa4fb5
add missing include
2009-04-23 12:12:57 +00:00
ehouse
3ae06069b4
Fix typo
2009-04-22 12:50:31 +00:00
ehouse
efe9fdf974
When resize dialog, put half the now-wider right margin on the left.
2009-04-21 12:42:51 +00:00
ehouse
984ec5934b
get rid of translate comments. no code change.
2009-04-21 04:44:30 +00:00
ehouse
d06ade3cd7
Tweak resource layout to fit French translations better.
2009-04-21 04:29:37 +00:00
ehouse
173b49c2e2
Latest French translations; copyright catchup.
2009-04-19 17:36:28 +00:00
ehouse
c5ade1431a
Move a few more strings into resources.
2009-04-19 17:34:14 +00:00
ehouse
481e2acb92
Add dialog for choosing localization .dll; save choice in prefs and open on boot.
2009-04-19 17:33:39 +00:00
ehouse
a7bf9f611d
strip .dlls for size -- and since this seems to work around cegcc's problem with winmo 6.1
2009-04-19 17:12:55 +00:00
ehouse
8d6150e025
First cut from translator.
2009-04-14 03:38:33 +00:00
ehouse
80b9fde2da
Starting point for French translation.
2009-04-14 03:34:41 +00:00
ehouse
51b0fd5e4e
Changes to use .dll on wince: create window, which creates its menu,
...
after loading prefs since that's where language pref will be stored.
But for now, hard-code to load French so translator can see it
immediately. Also, create l10n directory in which localized .rc files
will live and modify Make file to .dlls from all.
2009-04-14 03:33:46 +00:00
ehouse
76c0a518f1
change -j to -j3. No code change.
2009-04-14 03:27:32 +00:00
ehouse
61fc087c5d
annotate template for translators. No code change.
2009-04-11 16:49:04 +00:00
ehouse
d19f052503
Track HINSTANCE of localization .dll separately, passing it where
...
appropriate; move rest (I think) of strings into resource; load menu
for win32 app after loading localization .dll.
2009-04-11 15:45:59 +00:00
ehouse
be7fe94650
add more strings
2009-04-11 15:41:40 +00:00
ehouse
aeb6d94248
generate string resource IDs from a list to avoid the trouble of keeping them sequential.
2009-04-11 15:40:19 +00:00
ehouse
d5afc6f252
generate string resource IDs from a list to avoid the trouble of keeping them sequential.
2009-04-11 15:40:01 +00:00
ehouse
848ccaaff7
remove resources (e.g. colors) that don't need localization; add more strings.
2009-04-11 15:38:40 +00:00
ehouse
2727cacae0
Start factoring out strings for localization: move most to resource,
...
add new file that loads resources (working around LoadString not
working as docs say it should). Add all-caps version for testing and
not-yet-working cmdline change to use it.
2009-04-09 13:48:38 +00:00
ehouse
9df574b6f6
Fix to compile (and so dicts are read into new internal format) on Palm.
2009-04-07 04:33:47 +00:00
ehouse
669e423ca8
Use new dict API to get rid of XP_UCHAR4 type, replacing with const XP_UCHAR*.
2009-04-07 04:23:56 +00:00
ehouse
2838f421a5
fix a couple of null ptr exceptions
2009-04-05 23:48:33 +00:00
ehouse
7b5259a5c0
Use simpler API (no behavior change; not utf-8 related).
2009-04-05 20:19:29 +00:00
ehouse
f3b53e4aaf
When dict is utf8, convert to wchar_t assuming CP_UTF8 rather than CP_ACP.
2009-04-05 20:18:46 +00:00
ehouse
f0d6dda9dd
A couple of new types for xp code dealing with utf8.
2009-04-05 19:27:30 +00:00
ehouse
241b24c862
Read new dicts and old into new format.
2009-04-05 19:24:10 +00:00
ehouse
a9b88d95b2
Read new dicts and old into new format.
2009-04-05 19:22:55 +00:00
ehouse
641ae18864
Use new dict api to support utf8 faces.
2009-04-05 19:20:22 +00:00
ehouse
9f6114fb9e
don't cast.
2009-04-05 19:18:47 +00:00
ehouse
96cfd7c7dd
New stream version: dict sent over wire has faces as utf8 (unless dict is not.)
2009-04-05 19:16:52 +00:00
ehouse
38a23ba74f
Begin changes for utf8 support (mostly from unicode_branch). Dict now
...
provides tiles as null-terminated const strings ptrs to which can be
passed and stored. They're utf8 strings. Old dicts still work,
platform must convert to utf8 on load.
2009-04-05 19:02:21 +00:00
ehouse
4a308f4f8e
Don't use unitialized variables (thanks valgrind :-)
2009-04-05 18:47:45 +00:00
ehouse
b63c75f36e
use libncursesw
2009-04-05 18:35:51 +00:00
ehouse
926f5963a3
rename only: stream_putString to stream_catString.
2009-03-29 18:26:59 +00:00
ehouse
8dca48b3ea
Useful ftell, commented out.
2009-03-29 18:13:09 +00:00
ehouse
9e5b3f8f29
Changes to fix BYOD (though still need native speaker confirmation)
2009-03-14 22:33:53 +00:00
ehouse
690bf80b7b
Fix so can build iso-8859-2 Polish dicts using make (won't work on
...
BYOD yet): add encoding to emacs mode line and fix the letters,
including hard-coding them as decimal numbers until I can figure out
how to get perl (in xloc.pm) to emit iso-8859-2 instead of utf8.
2009-03-14 19:27:29 +00:00
ehouse
0b0bf96cd5
accept ISO-8859-2; remove unused param; add assert that EOF/EOL aren't
...
part of a multibyte char
2009-03-14 19:22:15 +00:00
ehouse
b16a07d0ba
build dict2dawg with debug symbols
2009-03-14 19:21:09 +00:00
ehouse
fbe95478ba
rename now() as uptime(); drop NTHREADS to 1 for now; include time of
...
server boot in connName and keep counter in memory rather than a file.
2009-03-10 12:52:17 +00:00
ehouse
f9e6c5631d
Move WSACleanup into main where it can be called once per launch
...
rather than per use of relay, parallel to WSAStartup.
2009-03-08 20:01:47 +00:00
ehouse
f874183475
Use nwgamest support for separate config button beside role combo, and
...
remove hack responding to tap (without change) on that combo.
2009-03-08 20:00:20 +00:00
ehouse
cb72b3ffef
call gi_initPlayerInfo() for defaults when not provided on commandline.
2009-03-08 19:57:27 +00:00
ehouse
53fca87b10
Go back to combo box for role, and add config button beside it using new support in nwgamest.
2009-03-08 19:56:48 +00:00
ehouse
de4c57e740
include strerror output in logging when socket read fails
2009-03-08 19:56:01 +00:00
ehouse
d7eaa8e574
Add functions names to log statements.
2009-03-08 19:54:50 +00:00
ehouse
4e1155583f
Add support for a config button as a cleaner alternative to launching
...
comms config dialogs on changes to host type (which often involved
platform-specific hackery to trigger the dialog when user doesn't want
to change role)
2009-03-08 19:54:14 +00:00
ehouse
f598340239
relay name defaults to eehouse.org, easier to set at compile time for testing
2009-03-08 19:47:36 +00:00
ehouse
4909ae0137
Close down relay connection when comms going away. Fixes crashes when
...
new game is standalone and prev used relay. Add logging code in comms.
2009-03-06 13:43:03 +00:00
ehouse
8fd1d5b2a9
cleanup for new compiler: -D option, winsock2.h, fix warning
2009-03-06 04:53:56 +00:00
ehouse
44ef132d85
swprintf->_snwprintf to make newer cegcc happy
2009-03-06 04:52:06 +00:00
ehouse
1b49a26736
do loglevel and ports via the general-purpose config mech. No special
...
cases remain.
2009-03-05 13:49:01 +00:00