*** tpb has joined #tp | 00:00 | |
*** ChanServ sets mode: +o tpb | 00:00 | |
nash | The data in is generally data you know is going to be smaller then int32_ts, so as long as the programmer knows it is safe the compiler can just rack off. | 00:01 |
---|---|---|
nash | For cpp a static cast or whichever is probably appropriate, to let anyone reading the code know that larger numbers aren't going ot appear here... | 00:02 |
mithro | why not just use uint32_t everywhere instead of mixing them? | 00:04 |
nash | That would also do the trick. But I'd argue against changing things unless there is a real problem... | 00:05 |
nash | Part of the reason to not use them is that it's ingrained to just use int 99% of the time. | 00:08 |
nash | I know my client is pretty sloppy with it at the moment ;-) | 00:12 |
nash | I do intend to fix, but getting it to do what it needs to do first is the most important task | 00:12 |
nash | Actually I found a bug this morning where it doesn't deal with split frames correctly | 00:13 |
adhoc | whats the standard 64 bit int nowadays? | 00:15 |
adhoc | long long ? | 00:15 |
nash | int64_t | 00:16 |
nash | Nothing else is guaranteed | 00:16 |
nash | long long is an extension | 00:16 |
mithro | adhoc: when was/is this thing? | 00:17 |
nash | long long will probably be, but don't bet your house on it, else someone will hand you a 128bit long long | 00:17 |
nash | (short = 16, int = 32, long = 64, llong long = 128) on platform | 00:18 |
mithro | platform? | 00:18 |
* nash also refers to a cray machine that had all int types (except char) == 64 bits | 00:18 | |
mithro | nash: when you ask for a int32 is it guarrenteed to be 32 bits long or just 32 at a minimum? | 00:19 |
nash | int32_t is 32 bits. | 00:19 |
nash | There is a min which is some other weird name | 00:19 |
adhoc | mithro: it been rescheduled in a coupla weeks | 00:19 |
mithro | okay so if you want to do something tricky with wrap around, int32 is guarenteed to work like a 32bit int? | 00:20 |
nash | int_least32_t is the minimum one | 00:20 |
nash | which may be larger if the arch is quicker | 00:20 |
adhoc | so if you are on a 64bit arch ... | 00:20 |
adhoc | what the 32 bit int for, in this example? | 00:21 |
nash | Well since an int isn't guaranteed to wrap gracefully, int32_t won't either | 00:21 |
nash | Nothing requires 2s compliment remember | 00:21 |
mithro | so how do you get a guarenteed 2s compliment 32bit int? :) | 00:21 |
nash | By building your own language and hardware spec | 00:21 |
nash | Why do you want that? | 00:22 |
mithro | nash: so you could have something which wraps in a predictable way? | 00:22 |
nash | mithro: Some archs will throw an exception when you wrap... So if you want to handle it, handle it yourself | 00:23 |
* nash asks "What are you _really_ trying to do?" | 00:23 | |
mithro | nash: wrapping is quite handy when coding PICs, I imagine it would be useful in more advanced archs | 00:23 |
nash | Not really. In 'advanced archs[1]' you have enough grunt to do what you want to do. When you are dealing with things like wrapping you are dealing with hardware specific things anyway, not portable things. | 00:24 |
nash | [1] Advanced used losely when refereing to the x86 interface | 00:25 |
mithro | anyway back to work for me | 00:26 |
* nash can't recall a time he needed to worry about intentional wrapping on a desktop or embedded (ie ARM) device | 00:26 | |
mithro | can't think of times it would be useful in codecs and such? | 00:27 |
nash | Codecs - maybe... | 00:29 |
nash | But the big cost on such systems is touching memory, a few instructions to check for wrap and handle appropriately is essentially zero cost, as it's pure integer. The cost of accessing and writing is the limiting factor | 00:30 |
* mithro touches some memory | 01:12 | |
nash | mithro: Hard to avoid really | 01:12 |
* mithro feels dirty ;) | 01:13 | |
nash | Decoding a single pixel on an arm takes a theoretical minimum of 7 memort access | 01:13 |
mithro | decoding? | 01:15 |
mithro | splitting into RGB? | 01:15 |
mithro | pixel of MPEG? | 01:15 |
nash | reading, decoding, splitting into YUV | 01:19 |
nash | YUV -> RGB is done later | 01:19 |
mithro | whats YUV stand for? | 01:26 |
nash | Nothing much... gold out chrominence, luminence and the third one I can't remember | 01:27 |
nash | Same as TV colours... essentially matches better with human vision systems | 01:28 |
mithro | nash: know anything about dlopen on cygwin? | 01:34 |
nash | nope | 01:57 |
nash | Only that it is a bit flaky | 01:57 |
nash | hmmm... is there a way to create a 'board' from the client? | 02:23 |
* nash wonders if I can create board to allow communication between members of an alliance or similar? | 02:23 | |
*** tuna-fish- has quit IRC | 02:25 | |
nash | back shortly | 02:25 |
mithro | nash: nope | 02:36 |
nash | That's annoying | 02:43 |
nash | Is there plans to? | 02:43 |
mithro | kind of | 02:52 |
mithro | IE the server could support multilpe boards and the client can post messages | 02:53 |
nash | Yes, but is there plans to allow a client to create boards? | 02:54 |
mithro | nope | 02:57 |
mithro | why would a client need to create boards? | 02:57 |
nash | Well - how about for the reason I said? | 02:59 |
nash | Also I was thinking of using one to send info to the player for the AI | 03:00 |
nash | Also general communication between players | 03:00 |
* nash doesn't understand why there is this complex multiboard comms system... that can't be used except for the server to tell you messages... which could be done a lot easier | 03:04 | |
mithro | you can post to message boards | 03:18 |
nash | But the only one I can see is my own personal one? | 03:18 |
mithro | nash: do you know much about dlopen? | 03:18 |
nash | More then I care to admit too... yes | 03:19 |
nash | What is the issue? | 03:19 |
mithro | nash: have you used the libtool library which makes it portable to use? | 03:20 |
mithro | nash: currently the only one you can see is your own personal one | 03:20 |
nash | Where "makes it portable to use" means works on both linux 2.4 and 2.6, and maybe a BSD or two... yes | 03:21 |
nash | mithro: (boards) So I can't use it to talk to anyone else? | 03:21 |
mithro | libtool is claiming | 03:22 |
mithro | # | 03:22 |
mithro | dlopen (Solaris, Linux and various BSD flavors) | 03:22 |
mithro | # | 03:22 |
mithro | shl_load (HP-UX) | 03:22 |
mithro | # | 03:22 |
mithro | LoadLibrary (Win16 and Win32) | 03:22 |
mithro | # | 03:22 |
mithro | load_add_on (BeOS) | 03:22 |
mithro | # | 03:22 |
mithro | GNU DLD (emulates dynamic linking for static libraries) | 03:22 |
mithro | nash: not at the moment | 03:22 |
mithro | nash: but in the near future you will be able to use it to communicate with others | 03:23 |
nash | So will you be able to create your own boards? | 03:24 |
nash | Anyway.. about libtool and it's not so portable portability... | 03:24 |
nash | Note you need different automake macros for different systems when using libtool | 03:24 |
mithro | nash: creation of boards isn't planned for tp04 | 03:25 |
mithro | it is likely that enough boards will exist by default | 03:25 |
nash | Not really - you need to be able to limit access to particular groups for instance | 03:26 |
nash | And then they may want multiple boards | 03:26 |
nash | So what is the issue with libtool? | 03:28 |
mithro | nash: i want the static link emulation of dlopen functionality | 03:29 |
nash | ? | 03:30 |
nash | Not sure what you mean? | 03:30 |
mithro | well, I have a system where I only have static libraries | 03:31 |
mithro | and you can't dlopen static libraries | 03:31 |
nash | Strangely enough... </sarcasm> | 03:32 |
nash | So you want to do what? | 03:32 |
nash | You want to emulate it? | 03:32 |
nash | Have fun... Can you mmap? | 03:32 |
mithro | it appears that the libtool ntdl library can handle emulation for you | 03:33 |
mithro | so i'm trying to convert to using that | 03:33 |
nash | Haven't done that one before. last time I was on a system without dl functionality, we just statically linked everything... A lot easier | 03:35 |
mithro | I wasn't the one who choose dynamic linking ;) | 03:36 |
*** mithro has quit IRC | 05:03 | |
*** nash has quit IRC | 05:14 | |
*** tpb has joined #tp | 06:00 | |
*** ChanServ sets mode: +o tpb | 06:00 | |
*** zipola has quit IRC | 06:17 | |
*** Demitar has quit IRC | 06:17 | |
*** bobbens has quit IRC | 06:17 | |
*** JLP has quit IRC | 06:17 | |
*** CIA-11 has quit IRC | 06:17 | |
*** JLP has joined #tp | 06:17 | |
*** bobbens has joined #tp | 06:17 | |
*** Demitar has joined #tp | 06:17 | |
*** zipola has joined #tp | 06:17 | |
*** CIA-11 has joined #tp | 06:17 | |
*** mithro has joined #tp | 07:33 | |
*** nash has joined #tp | 07:54 | |
mithro | hey nash | 08:25 |
mithro | thanks for the bug report | 08:25 |
mithro | ~seen czr | 08:26 |
tpb | mithro: czr was last seen in #tp 16 hours, 55 minutes, and 25 seconds ago: <czr> later mithro nitenite | 08:26 |
jasmine | czr was seen 16 hours, 55 minutes and 32 seconds ago. | 08:26 |
czr | mithro, ping | 08:26 |
mithro | czr: well, you managed to survive the first 24 hours :) | 08:41 |
czr | I have extensive experience at lurking :-) | 08:41 |
nash | mithro: Happy to report bugs... I'm a pedantic one | 08:46 |
mithro | nash: no, it's good | 08:46 |
nash | :-) | 08:46 |
mithro | czr: did you have any more luck with the client? | 08:46 |
czr | mithro, haven't had the time to try it again | 08:47 |
czr | (can't really restart the window manager, too much stuff going on right now :-( | 08:47 |
mithro | have you tried checking out and playing with the -dev version? | 08:49 |
czr | not yet. where is it? | 08:49 |
mithro | you'll need darcs to get it (if your on ubuntu/debian "apt-get install darcs") | 08:50 |
czr | apt-getting. | 08:51 |
mithro | i'm still working on a magic "setup dev enviorment" script | 08:51 |
mithro | give this a try | 08:51 |
mithro | http://darcs.thousandparsec.net/darcsweb/darcsweb.cgi?r=scratchpad;a=plainblob;f=/magicsetup.sh | 08:51 |
tpb | <http://ln-s.net/J7a> (at darcs.thousandparsec.net) | 08:51 |
czr | argh. that's evil. wgetting that won't return the sh | 08:53 |
czr | instead returns something htmlish :-) | 08:53 |
czr | weird. hmm. | 08:53 |
czr | ah, it works. shell escapes. /me kicks self. | 08:53 |
mithro | http://darcs.thousandparsec.net/repos/scratchpad/magicsetup.sh | 08:54 |
tpb | <http://ln-s.net/J7b> (at darcs.thousandparsec.net) | 08:54 |
czr | nm, I got it already :-) | 08:54 |
mithro | :) | 08:54 |
mithro | dunno if it works :) | 08:56 |
czr | seems to pull the repos now | 08:56 |
czr | no errors so far | 08:56 |
czr | btw, any reason why you define SUCMD in the script and never use the var for anything? :-) | 08:56 |
mithro | echo "I'm sorry but we can't continue until you install $RCS" | 08:57 |
mithro | echo "You can install darcs by running the following command:" | 08:57 |
mithro | echo "\t$SUCMD apt-get install $RCS" | 08:57 |
mithro | JLP: ping | 08:57 |
czr | ah, that one | 08:58 |
czr | hmm. tpclient-pywx or tpclient-pywx-dev? | 08:59 |
czr | hmm. the dev client complains of failing dependencies (python-numpy and python-numpy-ext) | 09:01 |
czr | (it also complains about pysco and openssl, but I thought those were optional) | 09:01 |
nash | hmmm... can't get message get to work | 09:03 |
mithro | the dev one needs numpy | 09:03 |
mithro | nash: hrm? | 09:03 |
czr | mithro, I have numeric and all that, and numpy doesn't exist in ubuntu | 09:03 |
mithro | yes it does | 09:03 |
mithro | apt-get install python-numpy python-numpy-ext | 09:03 |
nash | just going through step by step to see if i screwed something up | 09:04 |
mithro | as it should suggest? | 09:04 |
czr | weird. hmm. apt-cache search python-numpy comes up with zero results | 09:04 |
czr | install says that package cannot be found. | 09:04 |
nash | try python-pynum | 09:04 |
czr | nada. | 09:05 |
mithro | hrm, czr what ubuntu version? | 09:05 |
czr | and as said, I have python-numeric and python-numarray | 09:05 |
czr | mithro, dapper | 09:05 |
mithro | weird, it's in edgy and feisty | 09:05 |
czr | well, dapper is older :-) | 09:05 |
czr | hmm. I could just setup a separate vm for tp, that way I could check the window-manager weirdness too | 09:06 |
czr | I'll get back after I've set up that | 09:06 |
mithro | I tried that, but for some reason it didn't work (does work fine on my Edgy computer, but not om my Dapper one). Now I have got things working by using the repository from Andrew Straw: http://debs.astraw.com/dapper/ | 09:06 |
tpb | Title: Index of /dapperAndrew Straw's Apt Repository (at debs.astraw.com) | 09:06 |
mithro | ? | 09:06 |
czr | yeah, but I'm not switching to non-ubuntu repos for this project | 09:06 |
czr | I have too important stuff on this one. I'll just setup a virtual machine separate for tp | 09:07 |
czr | are there any problems with tp-stuff on x86-64? | 09:07 |
mithro | only possibly with tpserver-cpp | 09:07 |
czr | it's not tested on x86-64? | 09:07 |
mithro | dunno, I think lee may have a x86-64 | 09:08 |
mithro | but python should work fine in x86-64 | 09:08 |
czr | I know that. just uses lot more memory on 64-bit archs | 09:09 |
nash | mithro: What is the definision of an empty list - just a '0' (length field) | 09:10 |
mithro | yes | 09:10 |
nash | Hmm... | 09:10 |
nash | So msg get (message 18), to get all messages on a board should be a 8 byte message, first 4 bytes being the board #, next 4 being 0. | 09:15 |
mithro | nash: i think so | 09:19 |
nash | Hmm... also having problems with the failure message :-/ | 09:22 |
mithro | you get a failure message? | 09:24 |
nash | yeah | 09:25 |
nash | but I can't see the string | 09:26 |
nash | it's 0 bytes long | 09:26 |
nash | Yep, correct seq number... | 09:27 |
* nash raw dumps the packet | 09:27 | |
mithro | check the tpserver-cpp console too | 09:28 |
nash | Upstairs however... ;-) | 09:28 |
mithro | ssh! :) | 09:30 |
czr | mithro, is there a server compatible with -dev-client? | 09:35 |
CIA-11 | Lee Begg <[email protected]> * tpserver-cpp/ (11 files in 2 dirs): | 09:36 |
CIA-11 | Added support to tpguile for guile 1.8: | 09:36 |
CIA-11 | Added defines to map the new names to the ones used in guile 1.6. This means that | 09:36 |
CIA-11 | the actual code is now guile 1.8, and the defines make it 1.6, when 1.6 is detected. | 09:36 |
CIA-11 | Not yet tested under 1.8. | 09:36 |
*** llnz has joined #tp | 09:36 | |
czr | segfault :-) | 09:36 |
czr | tried to connect to llnz.dyndns.org | 09:36 |
llnz | my adsl has been down for the last 16 hours | 09:37 |
czr | (using the -dev client/x86-64) | 09:37 |
czr | oh. heh | 09:37 |
czr | hmm. what is the pyscheme thingy used for? | 09:39 |
llnz | the smarts behind designs in the python client and server | 09:40 |
llnz | tpserver-cpp can use either guile or mzscheme | 09:40 |
czr | can you be more specific? | 09:40 |
czr | the game logic? | 09:40 |
llnz | and client's don't have to have a Scheme implementation at all | 09:40 |
llnz | czr: | 09:40 |
llnz | errr... | 09:40 |
llnz | it's used to express depenances and calculate property values | 09:41 |
czr | of what? :-) | 09:41 |
czr | some concrete example would go a mile :-) | 09:41 |
nash | mithro: Well the message from the server is empty - it's sending me 9 '0' bytes for a message | 09:48 |
llnz | czr: http://www.thousandparsec.net/tp/dev/documents/ncl.php | 09:50 |
tpb | <http://ln-s.net/J7d> (at www.thousandparsec.net) | 09:50 |
czr | a design is ? | 09:52 |
llnz | http://www.thousandparsec.net/tp/dev/documents/protocol3.php#DesignManipulation | 09:52 |
tpb | <http://ln-s.net/J7e> (at www.thousandparsec.net) | 09:52 |
llnz | the design of something, where something in minisec is just ships, and in mtsec is ships and torpedo/missiles | 09:53 |
czr | does this include visualization? | 09:53 |
llnz | ? | 09:54 |
czr | or just a bunch of properties? or actual code that is executed when the design is used? | 09:54 |
czr | well, I suppose you aim to have some graphics for ship types at some points | 09:54 |
czr | so does a "design" also associate with the graphics somehow? | 09:54 |
llnz | no, it doesn't currently associate with a graphic | 09:54 |
czr | ok. what about code? | 09:54 |
czr | suppose I have a megatorpedo that will need to run some special code if it hits a ship (a design) with some specific property (plasma-shields) | 09:55 |
llnz | the ncl define when the design is valid (ie, all requirements met, no conflicts), and calculated the properties of the design | 09:55 |
czr | well I understand that. but I fail to understand how a "design" is better/more flexible than a bunch of properties stuck into a dictionary (python-wise for example) | 09:56 |
czr | also what is the use of components? an example? | 09:56 |
llnz | ok | 09:56 |
* llnz trys to start again | 09:56 | |
czr | sorry for the stupid questions, but since there's no top-level design document, :-).. | 09:56 |
llnz | designs are made of components, and have properties that are calculated (using ncl) from the properties of the components | 09:57 |
llnz | so, for example | 09:57 |
llnz | a ship might have a hull component, an engine component, and a laser component | 09:57 |
czr | the components have the properties or the designs? | 09:59 |
czr | or both? | 09:59 |
llnz | each component has a "mass" property (with rank 0), definning how heavy each is | 09:59 |
czr | rank? | 09:59 |
llnz | the design also has the 'mass' property, which is the sum of the masses of the components | 10:00 |
czr | expressed in ncl I assume | 10:00 |
llnz | now the speed property of the design (with rank 1), is calculated by taking the mass of the design (of rank 0) and doing some math (in ncl/scheme) | 10:01 |
czr | what do you mean by ranks? | 10:02 |
llnz | so all rank <n> properties get calculated before rank <n + 1> properties | 10:02 |
czr | ah. ok | 10:02 |
llnz | so that the design value for the property is available for the calculation | 10:02 |
nash | mithro: Regarding my msg get problem... Server has nothing useful | 10:02 |
nash | Just "got messsage" .. finished processing | 10:03 |
czr | llnz, so I guess the idea of using ncl/scheme for this is that it allows language-independent but common representation for doing these things, right? | 10:05 |
llnz | yeah | 10:05 |
czr | as opposed to some fixed/other format? | 10:05 |
czr | ok | 10:05 |
llnz | mithro decided it needed to be a scripting language, i said it couldn't be python | 10:05 |
czr | how are the designs/components validated? | 10:05 |
llnz | originaly it was a RPN simple language, but it wasn't powerful enough | 10:06 |
czr | well, scheme is rpn ;-) | 10:06 |
llnz | true, but not just "and", "or" and "not" | 10:06 |
czr | and I've always wondered what scheme was good for, so I guess now I need to learn how to use it. looks simple enough though | 10:06 |
llnz | ncl is actually a subset | 10:08 |
czr | yeah, I'm reading the ncl.php | 10:08 |
czr | anyhow, how are designs/components validated? | 10:08 |
czr | by validation I mean suppose you have evil version of a client | 10:08 |
czr | that will use cheats and stuff | 10:08 |
llnz | the properties on the server are calculated there | 10:08 |
llnz | so the client doesn't set the property values | 10:09 |
czr | ah. so each design lives on both ends | 10:09 |
llnz | it can be checked/calculated on both ends, the client doesn't have to | 10:09 |
llnz | the data for doing so it more for offline clients and very slow net connections | 10:09 |
mithro | czr: the client calculates the values locally for offline and slow net connections | 10:10 |
czr | well, I'm assuming it is useful for the client to calculate it in order to display the values to the player | 10:10 |
mithro | (and in future busy servers) | 10:10 |
mithro | hey llnz | 10:10 |
* czr nods | 10:10 | |
llnz | hi mithro | 10:10 |
czr | the whole idea seems pretty crazy. I like it. | 10:10 |
llnz | czr: the values are pass from the server too | 10:10 |
mithro | czr: ahh you need python-imaging | 10:11 |
czr | so a "game" is a collection of designs and components that the server will provide? | 10:11 |
mithro | llnz: i've been hacking to tpserver-cpp :) | 10:11 |
czr | are rules also expressed using ncl? | 10:11 |
czr | mithro, the segfault is caused because of that? | 10:11 |
mithro | llnz: trying to get it to compile under windows - see my blog | 10:11 |
llnz | mithro: you have a blog? | 10:11 |
mithro | czr: yeah it doesn't like me trying to load a png using a GIFAnimationCtrl :) | 10:12 |
mithro | llnz: I do now! blog.mithis.com :) | 10:12 |
mithro | i caved | 10:12 |
czr | hmm. should be added to real pre-requisites then | 10:12 |
mithro | czr: it'll be fixed in the very near future | 10:12 |
czr | mithro, np, i'll just install imaging meanwhile | 10:12 |
llnz | mithro: not .com, only .net | 10:12 |
mithro | llnz: ahh well :) | 10:13 |
* llnz reads | 10:13 | |
czr | how do you plan to add localization? | 10:13 |
mithro | tpclient-pywx uses gettext | 10:14 |
nash | mithro: See my comment earlier? | 10:14 |
czr | well, if a design uses a 'property calculate' function that returns a pair of (value, display-string), that pushes localization into ncl? | 10:14 |
mithro | nash: nope :) | 10:14 |
mithro | nash: can you try sending a "get_messages([0,1,...])" ? | 10:15 |
nash | Okay | 10:15 |
mithro | czr: true, the server will need to be localized too | 10:15 |
mithro | can't really be helped as most of the stuff is kept server side (IE Resource descriptions, etc) | 10:15 |
llnz | yeah | 10:16 |
czr | does ncl support localization? | 10:16 |
llnz | and what happens when one player talks to another in game | 10:16 |
llnz | ? | 10:16 |
czr | inter-player messages don't fall under localization | 10:16 |
czr | that would be pretty silly :-) | 10:16 |
czr | and impossible anyway | 10:16 |
mithro | czr: that has yet to be solved - it falls under "the server will need to be localized too" | 10:18 |
* czr nods | 10:18 | |
nash | mithro: That seems to work | 10:19 |
mithro | nash: file a bug report! :) | 10:19 |
nash | indeed | 10:19 |
mithro | nash: i should have mentioned for you to try that earlier | 10:20 |
mithro | llnz: so what do you think of moving to libntdl ? | 10:20 |
llnz | mithro: ask me in 5 minutes when i've dealt with the non-ipv6 patch | 10:21 |
mithro | llnz: okay - hopefully I didn't break to much in that patch :) | 10:21 |
czr | are there any examples on actual designs used in minisec? | 10:21 |
mithro | czr: designs arn't used in MiniSec | 10:22 |
mithro | MTSec is the first thing which makes use of designs | 10:22 |
llnz | tpserver-cpp does provide the design, but will not accept any from the client | 10:22 |
czr | hmm. okay. llnz said that in minisec they're used for ships only, but I guess not :-) | 10:22 |
czr | ah | 10:22 |
czr | why would a client send a design to the server? | 10:23 |
czr | wouldn't that potentially pollute the server? | 10:23 |
czr | ok, I'll repeat my question then. are there any examples of real designs used in mtsec? | 10:25 |
llnz | in MTSec, a player can create their own designs | 10:25 |
llnz | so they need to be uploaded to the server before they can be used | 10:25 |
CIA-11 | [email protected] * tpserver-cpp/tpserver/ (8 files): Fixed for non-ipv6 build. | 10:26 |
czr | what stops player from creating a design which will have insane amounts of firepower for example? | 10:26 |
nash | The cost of building the bastard | 10:26 |
llnz | czr: nothing, except the properties of the component, and therefore the design | 10:26 |
mithro | czr: cost to build it :) | 10:26 |
llnz | for example, a hull might only be able to have a certain number of components in it | 10:26 |
czr | a player could make a design which would have a better hull? | 10:27 |
czr | better = have more space for components | 10:27 |
czr | or is the design validated/cost calculated on the server always? | 10:27 |
llnz | design is always validated/cost/properties calculated on the server | 10:27 |
czr | but what influences cost? properties of the design? which can be set by the player? | 10:28 |
czr | or "a player can upload a design" = "a design which is restricted in what properties it can access/use"? | 10:28 |
mithro | czr: a client can only change the components in a design | 10:28 |
czr | ah. not upload totally new designs. | 10:28 |
mithro | czr: no they can up load totally new designs too, but they can't add new components | 10:29 |
llnz | player can only used the components provided to them | 10:29 |
czr | so the components are fixed on the server, downloaded to the client, the client can then pick/mix components to form a "new design", and then upload that back to server. right? | 10:29 |
* llnz is sorry about the lack of plurals | 10:29 | |
llnz | yes | 10:29 |
czr | ok good. makes sense now :-) | 10:29 |
czr | am I correct to assume that a hull is also one component? and there could be many different hull components (each having separate sizes to enclose other components in them)? | 10:31 |
llnz | yes, yes | 10:31 |
czr | so infact, one could enclose components within other components. | 10:31 |
mithro | czr: no | 10:31 |
llnz | well... enclose is the wrong word | 10:31 |
llnz | mithro: the feature id for account creation is 1000, correct? | 10:33 |
mithro | llnz: possibly :) | 10:33 |
czr | hmm. with python-imaging I get no splash graphics anymore. | 10:34 |
czr | just white rectangle on start :-) | 10:34 |
CIA-11 | Lee Begg <[email protected]> * web/news/ (2007-02-10-0000.news 2007-02-10-0000.news): Update to news item about libtprl 0.1.2 release | 10:34 |
mithro | czr: hrm.... | 10:35 |
czr | but other graphics work now. client startup is much slower though. | 10:35 |
czr | "ColorGenerator does not work with depth = 16". er? :-) | 10:36 |
czr | from wx/_core.py | 10:36 |
czr | ah, sry, from extra/wxFloatCanvas/FloatCanvas.py | 10:37 |
mithro | hrm, you have 16 bit color? | 10:37 |
czr | sure. | 10:37 |
czr | the client didn't draw anything useful, then I did an universe download, which ended with two errors. "Strange error occured, unable to request boards" and "There was an unknown network error. Any changes since.." | 10:38 |
czr | mithro, you need the output of the client? | 10:39 |
mithro | czr: sure! | 10:40 |
nash | Anyway - bug reported | 10:41 |
CIA-11 | Lee Begg <[email protected]> * web/dev/documents/protocol3.php : Added Feature id for Account Creation | 10:41 |
nash | And I'm about to go for a while | 10:41 |
*** nash has quit IRC | 10:41 | |
czr | mithro, http://rafb.net/p/N88Wua13.html | 10:42 |
tpb | Title: Nopaste - tpclient-dev (at rafb.net) | 10:42 |
czr | first I tried the default server, then llnz.dyndns.org | 10:42 |
czr | (explains the error at the start) | 10:42 |
mithro | czr: weird error | 10:44 |
czr | well, seeing as 16bpp causes problems, that might be reflected later and that causes the client to fail | 10:44 |
mithro | czr: not related | 10:45 |
czr | oh. ok | 10:46 |
mithro | hrm, this doesn't make much sense | 10:46 |
czr | I'll try to reset my client state | 10:46 |
mithro | czr: can you run ./pullchanges.sh ? | 10:47 |
czr | err, no? why? I just setup the sources using magicscript | 10:47 |
czr | ah, sry | 10:47 |
czr | misread :-) | 10:47 |
mithro | opps I forgot to push the patch :) | 10:47 |
CIA-11 | [email protected] * libtpclient-py-dev/tp/client/ (cache.py cache.py cache.py): Fixed if there is nothing to get. | 10:48 |
mithro | try now | 10:48 |
czr | btw, suggestion for magicsetup.sh: at the end do chmod +x *.sh | 10:48 |
czr | otherwise the *changes.sh things don't have x (trivial to add obviously) | 10:48 |
mithro | czr: the setup.sh should do that | 10:49 |
czr | hmm. I get white splash again | 10:49 |
czr | I saw the picture before (after client reset) | 10:49 |
mithro | hrm - thats likely to be a color thing | 10:49 |
czr | cached images don't work? | 10:50 |
czr | but they work on first time? | 10:50 |
mithro | ? | 10:51 |
czr | yeah. I reset the client (rm -Rf ~/.tp/), then started it, splash was ok. then I quit. then I started it again -> white rect as splash | 10:51 |
czr | anyhow, http://koltsoff.com/pub/tp3.png | 10:51 |
czr | that's what the thing looks like over here | 10:51 |
czr | ah, moment | 10:52 |
czr | ok, now | 10:52 |
czr | the window comes up pretty small. when I resize it larger (dragging lower-right corner) it doesn't do updates properly | 10:53 |
mithro | czr: if you make it full size and then click the fit | 10:53 |
mithro | ? | 10:53 |
czr | no change | 10:53 |
mithro | hrm | 10:54 |
czr | although when I click full size from within the window (not real window decorations), then I get black screen | 10:54 |
mithro | my guess is that is the errors you are getting in the background | 10:54 |
mithro | (about the color) | 10:54 |
czr | still only CircleNoSmall instance has no attribute 'HitBrush' | 10:55 |
czr | well, I can try switching depth | 10:55 |
czr | yeah. it's a color depth issue. switched the vm to 24bpp | 11:01 |
czr | now the starmap contains something (all clustered too closely together though but that might be related to too small initial window size) | 11:01 |
mithro | hit zoom to fit again | 11:02 |
czr | yup. zooming works | 11:02 |
CIA-11 | Lee Begg <[email protected]> * web/dev/documents/protocol3.php : An empty list is silly, choose what you want with your eyes open | 11:02 |
czr | is there an option to disable animations? | 11:02 |
CIA-11 | Lee Begg <[email protected]> * tpserver-cpp/tpserver/player.cpp : | 11:02 |
CIA-11 | If the client asks for no orders, make sure we return a frame: | 11:02 |
CIA-11 | Before it wouldn't return a frame at all if the client requests no orders. | 11:02 |
czr | mithro, it would be nice to built + move the fleet on completion | 11:04 |
czr | build + move I mean | 11:04 |
czr | but I guess that's not critical yet | 11:05 |
* mithro pokes Lee | 11:05 | |
llnz | czr: easy enough to add | 11:06 |
mithro | llnz: it makes sense to return everything on empty list | 11:06 |
mithro | saves bandwidth! | 11:06 |
llnz | no it doesn't | 11:06 |
llnz | what's 100 bytes (or so) vs many KB | 11:07 |
mithro | and you can't remove it from the protocol now, tp03 is stable :P | 11:07 |
czr | mithro, the "media download progress bar" is imho not very useful | 11:07 |
mithro | czr: why? | 11:08 |
czr | takes away focus and confusing with EOT-counter | 11:08 |
CIA-11 | Lee Begg <[email protected]> * web/dev/documents/protocol3.php : Forgot to update last updated date on protocol doc | 11:08 |
czr | some indicator could be ok, but surely something smaller. just my imho. | 11:08 |
mithro | and downloading all messages/objects is the most common state | 11:08 |
czr | as well as the "stop animations" thingy :-) | 11:09 |
llnz | tpserver-cpp will spit error messages back if you give it an empty list | 11:09 |
llnz | in libtpproto-cpp i have a method called addRange(min, max) which can be used to get all very easily | 11:10 |
llnz | and it's easy to break the request into smaller sequences | 11:10 |
czr | hmm. mithro does move-order work? I fail to get anything other than 0,0,0 as the destination | 11:15 |
llnz | I guess you could put it back as "may" instead of "should" | 11:15 |
mithro | llnz: why does it bother you so much? | 11:15 |
llnz | because it's not consistent and not parallel in and out (ie, one id in, one frame back) | 11:17 |
mithro | llnz: parallel in and out? | 11:17 |
llnz | that, and i don't think it is that useful when you get more complex and volumous data | 11:18 |
llnz | (ie, one id sent to server, one frame back) | 11:18 |
llnz | symatry | 11:18 |
mithro | bah :) | 11:19 |
llnz | symmetry | 11:19 |
mithro | bah bah! | 11:21 |
czr | mithro, is move command supposed to work? I'm having difficulty of selecting the target for the move. | 11:22 |
czr | if I enter abs coordinates, it kind of works (doesn't update the screen properly, leaves the old traces on the screen) | 11:22 |
mithro | czr: not in dev | 11:22 |
czr | ok | 11:22 |
czr | and I guess I need to download universe after each turn as well, right? | 11:23 |
mithro | yes | 11:24 |
mithro | on the todo :) | 11:24 |
czr | np | 11:24 |
mithro | llnz: so on another note, can we convert to using libntdl? | 11:29 |
llnz | mithro: explain/url/patch :-) | 11:30 |
mithro | I have almost a patch | 11:30 |
mithro | did you read the blog entry? | 11:30 |
llnz | yes | 11:31 |
mithro | so did you look at the url? | 11:32 |
mithro | http://www.gnu.org/software/libtool/manual.html#Dlopened-modules | 11:32 |
tpb | <http://ln-s.net/J7k> (at www.gnu.org) | 11:32 |
mithro | it makes tpserver-cpp portable to a bunch of platforms you probably don't care about (and one platform I kind of care about) | 11:34 |
llnz | what's the patch like? | 11:36 |
llnz | how much changed? | 11:36 |
mithro | llnz: about 10-15 lines | 11:36 |
mithro | mostly changing dlopen to lt_dlopen and similar | 11:37 |
mithro | i'll upload a patch in a short bit | 11:41 |
*** nash has joined #tp | 11:43 | |
mithro | llnz: sf or email? | 11:44 |
llnz | either, email is a bit quicker | 11:44 |
mithro | llnz: sent | 11:46 |
mithro | llnz: it's not quite finished - I still need to fix the dlopen stuff in tpserver-cpp executable | 11:52 |
llnz | ok | 11:53 |
mithro | but it gives you an idea what it's like | 11:55 |
mithro | works under linux fine | 11:55 |
mithro | if you want to do more advanced dlopen stuff, it looks simpler in libltdl | 11:56 |
mithro | even can be made thread safe in a portable way | 11:57 |
mithro | almost working on windows! | 12:02 |
mithro | it works! | 12:05 |
llnz | hehe, sucky | 12:05 |
llnz | :-p | 12:05 |
llnz | what does the function stop() do? | 12:05 |
mithro | I have no idea - it's your function :) | 12:10 |
mithro | I assumed it stop the server | 12:12 |
llnz | i think it's a standard C thing | 12:13 |
nash | Not in any C dialect I know | 12:13 |
mithro | I copied it from your code | 12:14 |
llnz | ok, odd | 12:14 |
* llnz wonders where he pulled that from | 12:15 | |
llnz | why did you remove the ".so" from the end of the "return load(std::string(LIBDIR ........" lines? | 12:16 |
llnz | i know it's not always .so, but.... | 12:18 |
mithro | http://blog.mithis.net/?p=12 | 12:18 |
tpb | Title: Mithro rants about stuff � Compiling tpserver-cpp under windows - Part 2 (at blog.mithis.net) | 12:18 |
mithro | llnz: because it's not always .so and libntdl will figure out the extension for you | 12:18 |
llnz | oh, cool | 12:19 |
mithro | llnz: see the picture? | 12:19 |
llnz | yeah, funky | 12:20 |
llnz | which guile version, btw | 12:20 |
llnz | ? | 12:20 |
mithro | 1.6 | 12:20 |
llnz | ok | 12:20 |
* llnz wonders when JLP will get a chance to check 1.8 | 12:21 | |
mithro | llnz: cygwin has 1.8 too | 12:22 |
mithro | but it seems broken (guile) not tpserver-cpp | 12:22 |
llnz | ok | 12:23 |
mithro | llnz: libntdl has ability to "search" through all libraries avaliable in a directory | 12:25 |
llnz | cool | 12:25 |
mithro | which even works when the libraries are staticly linked :) | 12:25 |
llnz | does it actually load the libraries (dll's) under windows? | 12:25 |
mithro | currently under windows it's staticly linked | 12:27 |
mithro | but thats because I havn't figured out dll's properly | 12:27 |
mithro | dll's can't have any unresolved symbols | 12:27 |
llnz | ok | 12:28 |
mithro | which means that I have to somehow link tpserver-cpp.exe against the modules | 12:32 |
llnz | humm... | 12:34 |
JLP | morning all | 12:34 |
llnz | make tpserver-cpp a dll, and make the exe just load it and run main? | 12:34 |
mithro | llnz: something very similar to that | 12:37 |
mithro | but thats a much more major change | 12:37 |
mithro | staticly compiled stuff is good enough for me :) | 12:37 |
mithro | is there a way to set the load_path for tpguile? | 12:38 |
mithro | morning JLP | 12:38 |
llnz | ok :-) | 12:38 |
llnz | hi JLP | 12:38 |
mithro | JLP: i had something for you but i've forgotten now | 12:38 |
*** nash has quit IRC | 12:47 | |
mithro | llnz: so the libltdl is okay? | 12:48 |
llnz | mithro: i think so, are there anymore patches for it? | 12:49 |
mithro | not just yet | 12:50 |
mithro | need to fix the fixme | 12:50 |
llnz | humm... | 13:17 |
llnz | i'll have a better look at it tomorrow, i need to sleep | 13:18 |
llnz | JLP: check latest tpserver-cpp guile support when you have a chance | 13:19 |
* llnz wanders off | 13:19 | |
llnz | later all | 13:19 |
*** llnz has quit IRC | 13:19 | |
JLP | uf just finished reading the backlog | 13:26 |
JLP | i'll try right away if guile 1.8 works now | 13:26 |
JLP | mithro: when reading about message boards and talking with other players in real time, i got an idea that this could be done using XMPP | 13:31 |
JLP | still get an error in guile code, but this tim it is another one | 13:37 |
JLP | /usr/include/libguile/numbers.h: In member function 'PropertyValue TpGuile::getPropertyValue(Property*, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)': | 13:37 |
JLP | /usr/include/libguile/numbers.h:476: error: too many arguments to function 'double scm_to_double(scm_unused_struct*)' | 13:37 |
JLP | tpguile.cpp:253: error: at this point in file | 13:37 |
*** mithro has quit IRC | 14:32 | |
*** mithro has joined #tp | 14:39 | |
*** zipola_ has joined #tp | 15:40 | |
*** zipola has quit IRC | 15:55 | |
*** zipola_ has quit IRC | 15:56 | |
*** zipola_ has joined #tp | 16:05 | |
*** nash has joined #tp | 22:19 |
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!