[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Nhproxy-discuss] Re: slashem proxy interface
From: |
J. Ali Harlow |
Subject: |
[Nhproxy-discuss] Re: slashem proxy interface |
Date: |
Mon, 29 Jan 2007 23:12:39 +0000 |
On 2007-01-29 02:53:43 PM, m m wrote:
Hi Ali,
I've been making some progress. I got nhproxy 0.9.0, but had errors
compiling it.
nhext.c:459: error: incompatible types in assignment
nhext.c:528: error: incompatible types in assignment
These lines refer to
ap = *app;
and
*app = ap;
in the 'nhproxy_rpc_error_handler' function (va_list *app; va_list
ap;).
I changed these lines to use va_copy, which seems to have done the
trick and it compiled fine after that.
Looks like bug #11406, fixed in HEAD.
Next I went through the test examples, and pieced together a test
program, which I have attached, alongside the make file. Output is
here
./launch-proxy-slashem.
Slashem LaunchedNhProxy RPC error: > NhExt standard "1.0" game
"SlashEM" version "0.0.8E0F2" protocols "1,2"
NetHack Proxy: Failed to read reply to NhExt greeting
NetHack Proxy: Failed to initialize
Program initialization has failed.
Report error to "wizard".
Proxy: Failed to initialize window interface
As you can see from the comments in my code, there are some blanks.
Any sugestions for the next step? The purpose is still just to
successfully load, pass a few messages and exit gracefully.
This looks far too low-level to me for what I think you want.
You might need it if you wanted to convert NhExt to XML without using
NhProxy to decode it. Frankly, however, I'm not convinced this is
practical. NhExt relies on in-depth meta-knowledge to keep the
bandwidth down. This seems completely incompatible with XML's
self-describing nature.
Instead, I would recommend writing your own marshaling functions,
registered as NhProxy external procedures which produce XML with no
regard to the fact that the procedure has already been marshaled in
NhExt.
I've started writing an example of a minimal NhProxy client program
which you might find helpful:
http://project.juiblex.co.uk/hg/minhack
Cheers,
Ali.