Thursday, 2007-07-05

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
*** Epyon has joined #tp00:32
*** mithro has joined #tp01:46
mithro~seen dmpayton01:46
tpbmithro: dmpayton was last seen in #tp 1 week, 0 days, 1 hour, 53 minutes, and 45 seconds ago: <dmpayton> gnight01:46
mithro~seen niphree01:47
tpbmithro: niphree was last seen in #tp 6 days, 13 hours, 11 minutes, and 2 seconds ago: <niphree> I just started :)01:47
mithro:/03:10
xdotxcertainly looks worrisome03:13
*** nash has quit IRC03:21
mithrohey xdotx03:27
xdotxhey03:28
mithroxdotx: so how goes stuff?03:29
xdotxmithro: i'm about stumped on this error03:30
mithrotpserver-cpp error? or a client error?03:30
*** xdotx has quit IRC03:30
*** xdotx has joined #tp03:30
xdotxtpclient-pytext error03:30
xdotx"error: unpack requires a string argument of length 4" when i try to get object 003:31
xdotxi stepped through the server code and it all looks right. i can get object 1 no problem03:31
xdotxmithro: want the whole error output? :)03:34
mithrosure!03:34
mithroI think I have a inkaling of what that error is :P03:34
mithroobject 0 is the universe right?03:35
xdotxyes03:35
xdotxStruct !I Args ''03:35
xdotxTraceback (most recent call last):03:35
xdotx  File "./tpclient-pytext", line 752, in main03:35
xdotx    m.cmdloop()03:35
xdotx  File "cmd.py", line 142, in cmdloop03:35
xdotx    stop = self.onecmd(line)03:35
xdotx  File "cmd.py", line 219, in onecmd03:36
xdotx    return func(arg)03:36
xdotx  File "./tpclient-pytext", line 312, in do_object03:36
xdotx    return self.args(line, self.object)03:36
xdotx  File "./tpclient-pytext", line 90, in args03:36
xdotx    return function(*arguments)03:36
xdotx  File "./tpclient-pytext", line 319, in object03:36
xdotx    r = self.c.get_objects(int(id))03:36
xdotx  File "/home/xdotx/TP/tpclient-pywx/tp/netlib/client.py", line 813, in get_objects03:36
xdotx    return self._get_header(objects.Object, self.no, callback)03:36
xdotx  File "/home/xdotx/TP/tpclient-pywx/tp/netlib/client.py", line 344, in _get_header03:36
xdotx    self._get_data(type, no, callback)03:36
xdotx  File "/home/xdotx/TP/tpclient-pywx/tp/netlib/client.py", line 354, in _get_data03:36
xdotx    p = self._recv(no)03:36
xdotx  File "/home/xdotx/TP/tpclient-pywx/tp/netlib/common.py", line 465, in _recv03:36
xdotx    r = self._recvFrame(sequence)03:36
xdotx  File "/home/xdotx/TP/tpclient-pywx/tp/netlib/common.py", line 296, in _recvFrame03:36
xdotx    return self._processFrame(sequences)03:36
xdotx  File "/home/xdotx/TP/tpclient-pywx/tp/netlib/common.py", line 276, in _processFrame03:36
xdotx    self._error(p)03:36
xdotx  File "/home/xdotx/TP/tpclient-pywx/tp/netlib/common.py", line 264, in _processFrame03:36
xdotx    p.__process__(p._data)03:36
xdotx  File "/home/xdotx/TP/tpclient-pytext/tp/netlib/objects/Description.py", line 25, in __process__03:36
xdotx    moreargs, leftover = unpack(self.substruct, leftover)03:36
xdotx  File "/home/xdotx/TP/tpclient-pytext/tp/netlib/xstruct.py", line 230, in unpack03:36
xdotx    data = _unpack(substruct, s[:size])03:36
xdotx  File "struct.py", line 87, in unpack03:36
xdotx    return o.unpack(s)03:36
xdotxerror: unpack requires a string argument of length 403:37
mithroyeah, pretty much where I expected to see the error03:37
mithroit looks like it's because your Universe object doesn't have the "turns" argument03:38
mithrocan you push any changes you have03:38
mithrothat error should be nicer03:38
xdotxall my changes are up to date03:40
mithrodo you have your own Universe.cpp?03:42
xdotxnope, was just using an empty object03:42
mithro   eo = new EmptyObject();03:43
mithro   eo->setTypeName("Universe");03:43
mithro   eo->setTypeDescription("The entire universe");03:43
mithro   obdm->addNewObjectType(eo);03:43
mithrothat won't work03:43
mithroThe Universe is the top level object, everyone can always get it. It does not handle much itself.03:44
mithroIt only has one piece of data, that is the int32 turn number, also know as the year since game start.03:44
mithroExtra data03:44
mithro    * a UInt32, the current year/turn number03:44
xdotxah03:44
xdotxi saw universe just added year, and figured i didn't care about the year03:44
mithrobut libtpproto-py looks at the object and see it is of type "Universe"03:46
mithrohence it expects a turn output03:46
* xdotx nods03:46
mithroso you can fix it two ways03:50
mithro 1. Change object 0's type03:51
mithro 2. Fix objects 0's type to meet the spec03:51
xdotxi'm gonna add turn to the universe03:51
mithroyou should probably poke Lee to make it so that you can't override a type in the way you did03:51
xdotxyeah, good idea03:51
* mithro compiles tpserver-cpp to make that error nicer03:53
mithrobtw you found ~/.tp/pytextrc03:57
xdotx? i did?03:58
mithrothat should have said04:00
mithrobtw have you found ~/.tp/pytextrc04:00
xdotxhmm, nope04:02
mithrojust put in it the commands you want to run when you startup the text client04:04
mithrotim@ultraslim:~/oss/tp/tpclient-pytext$ more ~/.tp/pytextrc04:05
mithroconnect localhost04:05
mithro#games04:05
mithrologin nash@tp password04:05
mithroobject 004:05
mithroshow04:05
mithroobject 304:05
mithroshow04:05
mithroorders04:05
mithro#order_insert -1 NOp 23 004:05
mithrothat is my pytextrc04:05
xdotxah, nice04:05
xdotxthanks04:06
*** llnz has joined #tp04:08
mithrohey llnz04:08
llnzhi mithro04:08
mithroxdotx was just having problems with tpserver-cpp04:09
xdotxproblems, questions, the whole nine yards! ;)04:10
llnzhehe04:10
CIA-3mithro libtpproto-py * rc62371564a15 /tp/netlib/xstruct.py: Slightly better error message.04:10
CIA-3mithro libtpproto-py * rd7b9c8e44c42 /tp/netlib/objects/Description.py: Better error messages when the data doesn't match the description.04:10
mithroxdotx: if you try tpclient-pytext now (before you fix your error) you should get better error messages04:10
xdotxquestion: does the turn param for universe need to be called "year"?04:11
mithro?04:11
llnzxdotx: nope04:12
xdotxk04:12
llnzyou don't need it at all except if you want to support tp03 clients04:12
llnz(which is why i will start work on libtpproto-cpp tp04 support)04:13
mithrowell I think that you'll still need it because tp04 support is a superset of tp03 really04:14
llnzmithro: for object types, no it's not04:14
xdotxwell, for now i'm definitely supporting tp03 clients - gotta debug somehow04:14
mithrouniverse should still have 1 argument with the turn04:14
llnzmithro: why?04:15
llnzit doesn't need it04:15
mithrollnz: because the client still needs to know the current turn04:15
llnzuse the GetGame frame04:15
mithrohrm.....04:16
mithroxdotx: the error messages make more sense now?04:24
xdotxmithro: was just about to try it04:25
* mithro is being impatient :P04:26
xdotxmithro: :P, looks very nice04:27
CIA-3fr33.em4il tpserver-cpp-rfts * r33f8b39edd79 /modules/games/rfts/ (7 files): Adding universe object04:37
CIA-3fr33.em4il tpserver-cpp-rfts * rfbecac131c2d /modules/games/rfts/ (rfts.cpp universe.h): Actually using universe type this time ~~04:37
xdotxllnz: email of some tangentally important questions04:43
llnzcool04:44
* llnz gets tpclient-pywx and tpserver-cpp with rfts ruleset running on his laptop04:46
llnzrunning, not fully working together04:46
xdotxah04:47
xdotxi was gonna be like "WORKING WORKING??"04:47
xdotxyeah, it hits an error getting the planet object04:48
llnzyeah04:48
xdotxllnz: any idea what's going wrong there?04:56
llnzlet me have a look05:00
llnzodd05:03
xdotxllnz: ?05:09
llnzahhhhhh05:12
llnzi know05:12
llnzhttp://www.thousandparsec.net/tp/dev/documents/objects.php05:13
tpb<http://ln-s.net/J-G> (at www.thousandparsec.net)05:13
llnzlook at the object types list05:13
llnztype number | object type05:13
llnz0 | universe05:13
llnz1 | galaxy05:14
xdotxah ha05:14
llnz2 | star system05:14
llnz3 | planet05:14
llnz4 | fleet05:14
llnzyou need to add a object type for galaxy, even if you don't use it05:14
xdotxseems kinda restricting?05:14
* llnz notes that's another reason to use tp0405:14
llnzyeah05:14
mithrollnz: you don't actually need galaxy for the clients05:27
llnzmithro: i know, but the object type numbers must match05:27
llnzand tpserver-cpp assigns object type numbers as the object types are given to the ObjectDataManager05:28
mithrothat seems a bit silly :P05:29
xdotxwhat seems silly to me, is that he uses a map for it :P05:29
llnzwhy?05:29
llnzwhy is it silly?05:29
llnzit allows ruleset addons to add their object types without worrying about what ids they should have05:30
xdotxif i (ruleset) control the type, i should control the typeid05:30
llnzxdotx: why is a map the wrong thing?05:30
xdotxllnz: well, i don't *know* that it's "wrong", but you're using a map to store a relation to an int and an object. and you incrementally control the int.05:31
mithrollnz: should probably be able to give a typeid?05:31
xdotxllnz: sounds like an array/vector to me05:31
llnzxdotx: the map is used as an index from the id to the prototype instance of the ObjectData class05:33
llnzmithro: why?05:34
llnzas of TP04 it doesn't matter what the typeid is05:34
xdotxllnz: right, but the id is controlled by the class that owns the map, and is simply incremented05:34
mithroxdotx: but they shouldn't randomly change but controlled by the class which defines the type?05:35
mithros/xdotx/llnz/05:36
llnzthe typeids are not controlled *at all* by the class that defines the type05:37
llnzxdotx: ahh, i get your meaning now05:37
llnzxdotx: it could be an array/vector subscript instead of a contain search05:37
llnzi didn05:38
xdotxrighto05:38
llnzi didn't think of that05:38
xdotxwoohoo! got my passphrase right the FIRST time!05:39
CIA-3fr33.em4il tpserver-cpp-rfts * rccc93478f174 /modules/games/rfts/containertypes.h: boring - changing capitalization on an enum05:39
CIA-3fr33.em4il tpserver-cpp-rfts * rdcdcb9b0a2b5 /modules/games/rfts/ (6 files): Reorganizing planet & adding resource points. Updated containertypes05:39
CIA-3fr33.em4il tpserver-cpp-rfts * rb21009c3fc5e /modules/games/rfts/rfts.cpp: Added pedantic galaxy type :p05:39
* xdotx should have made that thing shorter05:39
llnzxdotx: you can use ssh-add to make it remember your passphrase for you05:40
xdotxllnz: i figured they would/should be a way to do that05:40
xdotxllnz: how is getContainerType used?05:42
llnzit was used to determine weather getContainer in ObjectManager returns objects of the objecttype or not05:43
llnzi'm looking to replace it, as it's not really that useful05:43
* xdotx nods05:43
llnzlook at move.cpp to see it in action05:43
xdotxbtw, you all do this, so i gotta say something...05:44
xdotxThe _weather_ outside determines _whether_ or not i walk to the grocery05:44
llnzhehe, i know05:45
xdotxand we never talk about a wether05:45
xdotxheh "recontainerise", i like it05:46
llnzhehe05:47
xdotxllnz: any idea why my planet isn't added to the star system?05:49
* mithro is dyslexic :)05:52
llnzxdotx: nope, seems odd05:55
xdotxllnz: i seem to be hearing that one a lot ;P06:01
llnzahh06:01
llnzi know06:01
llnzan object must have a containertype equal to or greater than 1 to have objects contained in it06:02
xdotxah.. wait really?06:03
llnzyeah06:03
llnza container type of zero means no object can be inside this object06:03
xdotxah, yeah and i use empty on .. yeah06:03
xdotxyeah, i wondered about that one. since i saw empty using 1 and universe also using 106:04
llnzthe container type stuff isn't well documented or thought out06:04
llnzwill need to replace it in the future06:04
xdotxis there a way to do like, shift highlighting in vim? as in you hold shift, and arrow over to highlight06:09
llnzyes, i think so (in kdevelop i assume)06:13
xdotxer, but in VIM?06:16
llnzoh06:16
llnznot off hand, but there is a way06:16
llnzin visual mode, iirc06:16
xdotxi do shift + arrows/home/end alll the time06:17
CIA-3fr33.em4il tpserver-cpp-rfts * r460274dcb606 /modules/games/rfts/containertypes.h: Emptyobject using containertype 106:19
CIA-3fr33.em4il tpserver-cpp-rfts * r0b01dca7a1b3 /modules/games/rfts/rfts.cpp: boring - just toying around with star system location06:19
xdotxalright i'm off to bed06:20
llnzcya06:26
* llnz wanders off07:02
llnzlater all07:02
*** llnz has quit IRC07:02
*** MihaiBalan has joined #tp14:51
*** MihaiBalan has quit IRC15:05
CIA-3frodough tpruledev * rc66e405ff47b /src/ (4 files in 2 dirs): (log message trimmed)15:12
CIA-3Object Deletion Works now15:12
CIA-3Things won't get b0rked when we delete an object. We now remove any15:12
CIA-3associations that objects have with other objects. This could be bad15:12
CIA-3if we accidentally remove something that we don't want to remove. Lots15:12
CIA-3of links to reestablish. The current method of doing things also takes15:12
CIA-3advantage of the fact that we can only delete the currently selected15:12
CIA-3frodough tpruledev * rb932eb6fb09d / (notes.txt src/gui/GameObjectTree.py):15:12
CIA-3Added ImageList to GameObjectTree15:12
CIA-3Still trying to find a way to have tree nodes without images...hmm...15:12
*** MihaiBalan has joined #tp15:33
CIA-3frodough tpruledev * r22a7cb3b7ff0 / (5 files in 2 dirs): Fixed save functionality15:45
CIA-3frodough tpruledev * ra272f6bade9b /src/images/ (modified.png noimg.png): Included...er...the images used by the tree...ooops...15:46
*** DystopicFro has joined #tp16:08
*** JLP has joined #tp18:43
*** nash has joined #tp18:50
* nash looks for DystopicFro19:32
DystopicFronash: pong?21:17
nashheyo fro!21:17
nashhow is life?21:17
DystopicFrowould be better without writing rent checks, but I can't complain much21:17
DystopicFrohow's things for you?21:17
nashheh - Hey I'm writing rent and mortgage cheques.. so don;t complain too much...21:18
nashLife is okay - lot sof things to deal with at the moment21:18
nashSo very very busy21:18
nashLIttle computer time :-(21:18
DystopicFromeh, that's never good21:18
DystopicFroanyway, just checking in, it's been a pretty slow week, fourth of july holiday and all that, visiting family and friends21:19
DystopicFrohaven't gotten so much done, really, just refactored as per mithro's suggestions and am working on a few small issues21:19
nashLooking good however... so you got the stuff working with21:20
nashtpserver-cpp?21:20
DystopicFroit was working great until I pulled the recent changes that llnz made, now I'm getting a seg fault, so, meh21:21
DystopicFroI'll be poking around at that tomorrow21:21
DystopicFromaybe I'll get the chance to talk to llnz tonight (seeing as I'm asleep when he's around usually >.<)21:22
nashTime zones suck hey... :-/21:23
nashSo when do we see MTSec up and running on the server?21:23
EpyonWhen do we see EliteSec? xP21:23
nashEpyon: After I get time to develop again... ;-)21:24
nashActually after I move, I should get time on the train to write some code21:24
nashEpyon: Of course if you wrote up enough rules... DystopicFro can use them as examples for his RDE - or you can even...21:26
DystopicFrolovely travel time, eh? kk, back to the family, I'll be cleanung up the RDE for general use tomorrow though21:26
DystopicFrowhat's this nash? attempting to get us to cooperate and collude on new features >.<21:26
nashDystopicFro: sshhh.. .don't tell anyone...21:27
*** mithro has joined #tp21:54
mithronash: no flame telling me to get back to doing useful things apart from reorganising the website?22:42
nashnot at this time ;-)22:43
mithronash: you going to reply sometime?22:45
nashmithro: When I have time to read it...22:45
nashprobbly this afternoon ;-)22:45
nash_too_ busy recently to even thing22:45
mithros/thing/think?22:47
nashThat too ;-)22:47
* mithro heads off22:47
mithrobblr22:48
nashAnywya - I'm off to lunch22:50
*** mithro has quit IRC22:54

Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!